]> ocean-lang.org Git - ocean-D/commitdiff
updates
authorNeilBrown <neil@brown.name>
Mon, 13 Dec 2021 22:38:58 +0000 (09:38 +1100)
committerNeilBrown <neil@brown.name>
Mon, 13 Dec 2021 22:38:58 +0000 (09:38 +1100)
00-TODO

diff --git a/00-TODO b/00-TODO
index 02c22eeb824840fa46eb41451eccba7a93bd0fb7..18e8006d510a04f65ebbee1e3e0a7af8902b4a33 100644 (file)
--- a/00-TODO
+++ b/00-TODO
@@ -4,12 +4,13 @@
 
 ### Current version (Cataract Creek)
 
+- track lvals when propagatign types, and ensure we have one when needed.
 - allow passing objects to functions by reference is requested
-- '.' modifier to auto-add derefernce if needed
 - Assign/Decl to accept lvalue for assigning to reference
 - add [] as size-of-array
 - replace [foo::] declaration of array with [] - fix all main() calls
 - ensure all param passing and value return is handled correctly
+- remove all UNTESTED
 - revise all commentary
 - blog post
 - release
@@ -21,8 +22,7 @@
 - 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.
+- change use/case labels to create 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
 . array slices - references to arrays  "foo: []bar"
@@ -197,6 +197,16 @@ NO - pattern matching for destructuring??
 NO- typeswitch?
 - ??? algebraic types
 
+- code can appear in multiple forms:
+   - source code
+   - abstract syntax tree
+   - byte-code
+   - loadable machine code
+   - executable-only machine code
+  All but last can be loaded by 'ocean' and transformed into a later form,
+  or executed directly.  byte-code and loadable machine code will likely 
+  have ast content was well to describe types and provide template code.
+
 ## Needed in library
  - augmented and overloaded pointers
     An augmented pointer can also store a flag- for a bitlock etc