summary refs log tree commit diff stats
path: root/todo.txt
diff options
context:
space:
mode:
Diffstat (limited to 'todo.txt')
-rwxr-xr-xtodo.txt132
1 files changed, 0 insertions, 132 deletions
diff --git a/todo.txt b/todo.txt
deleted file mode 100755
index 20f7af41b..000000000
--- a/todo.txt
+++ /dev/null
@@ -1,132 +0,0 @@
-- we need a way to disable tests
-- deprecate ^ and make it available as operator
-- test branch coverage
-- checked exceptions
-- explicit indices for array literals
-- built-in serialization
-- do not ambiguity error for methods if amibiguity only affects the same 
-  dispatcher anyway
-
-
-High priority (version 0.9.0)
-=============================
-
-
-- fix implicit generic routines
-- fix the streams implementation so that it uses methods
-- fix overloading resolution
-- wrong co-/contravariance
-
-
-Bugs
-----
-- proc (x: int) is passable to proc (x: var int)  !?
-- detected by pegs module 64bit: p(result, result) should use a temporary!
-- the parser allows empty object case branches
-
-
-To implement
-------------
-
-* sort routine
-* hash tables and sets
-* distinct types for array/seq indexes
-* constant sequences
-
-* implement closures for the C code generator
-
-
-
-Low priority
-------------
-- resizing of strings/sequences could take into account the memory that
-  is allocated
-- implicit conversions from ``ptr/ref T`` to ``var T`` (from
-  ``ptr/ref T`` to ``T``)?
-- documentation: type converters
-- typeAllowed() for parameters...
-- find a way to reintroduce the cleanup() pass for C code generation: this
-  is hard because of partial evaluation --> symbol files will fix this as
-  a side effect
-- implement better error handling: errornous top level statements are ignored
-  and not part of the symbal table --> for REPL
-  --> this needs deletion operation for symbol table!
-- floating point checks for EcmaScript
-- enhance `` notation for identifier concatenation: `concat` a `these`
-- prefer proc in current module over other procs with same overloading result?
-- real types for template results
-- generalized case statement (requires better transf)
-- normalize for the DOM
-- tlastmod returns wrong results on BSD (Linux, MacOS X: works)
-- nested tuple unpacking
-- fast assignment optimization for TPeg
-
-
-Library
--------
-
-- locale support
-- conversion between character sets
-- bignums
-- ftp (and other internet protocols)
-
-- pdcurses bindings
-- queues additional to streams: have two positions (read/write) instead of one
-
-- for system:
-  proc `@` [T](a: openArray[T]): seq[T] = 
-    newSeq(result, a.len)
-    for i in 0..a.len-1: result[i] = a[i]
-    
-  --> ensure @[] calls the array version!
-
-
-Version 2
----------
-
-- language change: inheritance should only work with reference types, so that
-  the ``type`` field is not needed for objects! --> zero overhead aggregation
-  BETTER: ``is`` and safe object conversions only work with ref objects. Same
-  for multi methods.
-  
-- explicit nil types?
-  * nil seq[int]
-  * nil string
-  * nil ref int
-  * nil ptr THallo
-  * nil proc 
-
-- better for backwards compatibility: default nilable, but ``not nil``
-  notation:
-  
-  type
-    PWindow = ref TWindow not nil
-- the two other parsers
-
-
-Low priority
-------------
-
-- ``when T is int`` for generic code
-- ``when validCode( proc ()  )`` for generic code
-- macros: ``typecheck`` pragma; this allows transformations based on types!
-- find a way for easy constructors and destructors; (destructors are much more
-  important than constructors)
-- code generated for type information is wasteful
-
-
-Other ideas
------------
-- startsWith `=^`
-- endsWith `=$`
-- ignore case `=?` --> `=$?` too?
-
-
-RST
----
-- footnotes; prefix :i: whitespace before :i:, _reference, `reference`__
-  __ anonymous: www.nimrod.org
-- rewrite the parser to use the new better look ahead technique that c2nim
-  uses
-
-