]> ocean-lang.org Git - ocean-D/blobdiff - 00-TODO
updates
[ocean-D] / 00-TODO
diff --git a/00-TODO b/00-TODO
index 56d26e39cb03bff4a43ccfb498fccc08b1a5c3f3..a973953e12a8706bc8299e8e87cad186f1a17ecf 100644 (file)
--- a/00-TODO
+++ b/00-TODO
@@ -4,8 +4,6 @@
 
 ### Current version (Cataract Creek)
 
-- allow global names to be used before they are declared.  Assume global
-   if undeclared, and complain in final analysis.
 - allow type names to be used before declared.  Need to re-evaluate all
   type sizes after parse.
 - resolve the HACK of allowing assign from struct when name starts space.
 - enum, with multi-valued names.  enum foo { yes, no, many(10) }
   bar:foo=.yes; if bar == .no... if ?bar.many: print bar.many, "items"
   Maybe .true and .false for Boolean
+- change use/case labels in ".name" which creates a local enum if no
+  type is evident.
 - set, with bool or int members.  set foo { pinned, memalloc, priority(4) }
   bar:foo = .memalloc | .priority(2). if bar.pinned: bar.priority += 1
+- allow global names to be used before they are declared.  Assume global
+   if undeclared, and complain in final analysis.
 . array slices - references to arrays
 - array access to read bytes from strings.  How to get length?  "?string[4]" ??
         array[] gets length??
 - const structures can inherit from another, and update select fields.
 - 'use' labels *must* appear in case statements.
 - 'then' can extend a case section into some other.
-
+  
 ## Needs Design
+- const arrays that are initialized incrementally throughout the code,
+  and post-processed at compile-time, e.g. to sort or derive LR tables.
+  Maybe even across modules.
+  Need a syntax
 - union types - how do I want to support these? inheritance with variance?
 - lambda
 - 'error' value for various types. NIL for pointer NaN for float, extra flag bit