Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > b7d4776776c8e4296a0951083113f920 > files > 8

nickle-2.69-2.fc13.i686.rpm

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.