1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
TO DO
+ Allow poll() as a substitute for select().
+ Allow nick to be built without all the async IO and
gettimeofday() and the like.
+ Build regression tests for everything on the DONE list.
+ Finish the manual.
+ Fix output formatting length problems.
+ Tagless GC.
TO THINK ABOUT
+ Allow multiple instances of ARC4 or PRNG to run simultaneously
(i.e. encapsulated generators)?
+ Too few array initializers is an error?
+ Array dimension types or something like them?
+ Remove as many 32-bit limits as possible
+ "Better" namespace seperator?
+ Move ellipses to other side of function formal?
+ Add a full scope operator?
+ Add true partial initializers?
NOT TO DO
+ "public namespace" has a somewhat non-intuitive meaning. Fix?
Too hard, don't know what to do.
+ Add array zeroing builtin?
Use pattern initializer instead: much better.
+ * should be right unary operator?
Should be, but won't :-).
+ Comments should not be allowed in interactive mode?
Need to for intuition.
+ Make sure all comments are closed before the reader prints a prompt?
Principle of least surprise: want to be able to paste code in.
DONE
+ Build a small test suite.
+ Null-safe strings.
+ Move std math functions out of math, or import math.
+ Implement library autoload mechanism.
+ Write fixed position (scale=n) math library in nickle ala bc/dc.
+ Replace nick-in-C code (e.g. gcd.c) with nick library code.
+ "read" file should be "load" file.
+ Make sure all blocks and comments are closed when the
reader leaves a file.
+ Finish exception handling.
+ typedef syntax.
+ : namespace separator.
+ Finish twixt handling.
+ Have '^' call math:pow function.
+ Better arctan.
+ Shift operators.
+ Bitwise operators.
+ Add log2 function.
+ XOR builtin.
+ Deeper typechecking on assignment (of all kinds).
+ Forward declarations of typenames.
+ Add file/line numbers to compile errors.
+ Add a PRNG.
+ Rename Strings to String.
+ Pattern-based initializers.
+ Array decl * syntax.
+ Add <uninit> support
+ Remove mutex builtins.
+ Allow namespaces to be extended.
+ void type (as unit type).
+ GNU readline support.
|