mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
112 lines
3.4 KiB
Text
112 lines
3.4 KiB
Text
Initiatives:
|
|
|
|
add rename support to library syntax, start by looking at lib:exports.
|
|
will need a way of compiling this into the library, and for progs/libs importing the library (although
|
|
those may just be able to simply each rename to refer to the renamed identifier)
|
|
|
|
Tier 0:
|
|
- FFI
|
|
- want to create an example program (lib?) that does something interesting, like make a cURL request
|
|
for that, will need to be able to include the appropriate C header(s), and link to the appropriate C libraries
|
|
|
|
- Library support
|
|
|
|
Import sets (importing libraries, section 5.2):
|
|
supported:
|
|
- library name
|
|
not supported (not these are defined recursively, and can be nested):
|
|
- only
|
|
- except
|
|
- rename
|
|
- prefix
|
|
|
|
|
|
Tier 1:
|
|
- Performance - most likely need CPS optimization and closure elimination
|
|
- pass larceny benchmarks (will require some bugfixes):
|
|
|
|
TODO: sboyer finishes in a reasonable amount of time now, but the collector's memory growth is
|
|
not being limited. need to test, but I think disabling the growth code after collection
|
|
is throwing off the collector's memory ratios and causing each major collection to first
|
|
'bump' gc_grow_heap. anyway, need to figure this out
|
|
|
|
|
|
benchmarks that do not finish due to
|
|
missing features:
|
|
- gcbench.scm - Needed to manually import (srfi 9)
|
|
- mbrotZ.scm - No complex library
|
|
- read0.scm - needs open-input-string
|
|
- scheme.scm - Problem with (macro?) being a primitive and defined in application code
|
|
- slatex.scm - Need to handle more than one "args" argument to apply
|
|
crashes:
|
|
- compiler.scm - Needs to be able to dynamically grow symbol table. needed to hardcode symbol table to 20x its size to be able to generate the C file. Then C file cannot compile; there may be issues with defining functions with the same name as a primitive.
|
|
|
|
OK if test errors out if outputs directory is missing, chibi does the same thing.
|
|
List of all benchmarks, along with comments if they are failing:
|
|
|
|
- ack.scm
|
|
- array1.scm
|
|
- browse.scm
|
|
- bv2string.scm
|
|
- cat.scm
|
|
- compiler.scm - Issues with symbol table and possibly lexical scoping
|
|
- conform.scm
|
|
- cpstak.scm
|
|
- ctak.scm
|
|
- deriv.scm
|
|
- destruc.scm
|
|
- diviter.scm
|
|
- divrec.scm
|
|
- dynamic.scm
|
|
- earley.scm
|
|
- equal.scm
|
|
- fft.scm
|
|
- fibc.scm
|
|
- fibfp.scm
|
|
- fib.scm
|
|
- gcbench.scm - Needed to manually import (srfi 9)
|
|
- graphs.scm
|
|
- lattice.scm
|
|
- matrix.scm
|
|
- mazefun.scm
|
|
- maze.scm
|
|
- mbrot.scm
|
|
- mbrotZ.scm - No complex library
|
|
- mperm.scm
|
|
- nboyer.scm
|
|
- nqueens.scm
|
|
- ntakl.scm
|
|
- nucleic.scm
|
|
- paraffins.scm
|
|
- parsing.scm
|
|
- peval.scm
|
|
- pi.scm
|
|
- pnpoly.scm
|
|
- primes.scm
|
|
- puzzle.scm
|
|
- quicksort.scm
|
|
- ray.scm
|
|
- read0.scm - needs open-input-string
|
|
- read1.scm
|
|
- sboyer.scm
|
|
- scheme.scm - Problem with (macro?) being a primitive and defined in application code
|
|
- simplex.scm
|
|
- slatex.scm - Need to handle more than one "args" argument to apply
|
|
- string.scm
|
|
- sum1.scm
|
|
- sumfp.scm
|
|
- sum.scm
|
|
- tail.scm
|
|
- takl.scm
|
|
- tak.scm
|
|
- triangl.scm
|
|
- wc.scm
|
|
|
|
|
|
Tier 2:
|
|
- srfi 18 - more complex threading examples (probably can wait)
|
|
- api documentation (can wait?)
|
|
- online docs via read-the-docs?
|
|
- higher priority issues (need to be resolved, but can wait?)
|
|
- revisit macro hygiene issues
|
|
- library issues (name conflicts and limited feature set)
|