This commit is contained in:
Erik Svedäng 2017-10-13 12:19:22 +02:00
parent d6bac91d68
commit 511a3590fd

View File

@ -2,7 +2,7 @@
## Critical Bugs
* The 'range' function is fully generic (for all 'a') but only compiles when 'a' is numeric type
* After use:ing the Int and Float modules, this command crashes the REPL: (+ ?a ?b)
* Go over all the Array functions and make sure they are memory safe
## Big Language Features
* Generic data types (apart from Array, which already is)
@ -13,7 +13,6 @@
## Language Design Considerations
* What's the correct type of the variable in a set!-form, i.e. (set! &x value) or (set! x value)
* The 'copy' function should probably be a special form, just like 'ref'?
* Is some kind of interface/typeclass construct worthwhile?
* How should passing primitive types (that do not care about being referenced) as ref:ed parameters be handled?
* How to handle heap allocated values? Box type with reference count?
@ -29,8 +28,7 @@
* Stop evalutaion of forms after errors to avoid "Trying to refer to undefined symbol" error
* Built in REPL history (without using rlwrap)
* Preserve whitespace to allow saving forms back to disk
* Refactorings at the REPL
* Hide instances of templates/generic functions when printing the environment (by default)
* Warnings about giving away values should be compiler errors and not Haskell trace:s
* Refactorings at the REPL. Rename, extract function, add/remove parameter?
* Hide instances of templates/generic functions when printing the environment (by default, allow it as a setting)
* Somehow make it possible to enter ":t foo" at the REPL (can't be done now because each atom is evaluated separately)
* Rename type variables from t0, t1, t2 to a, b, c, etc.