]> ocean-lang.org Git - ocean-D/commitdiff
updates
authorNeilBrown <neil@brown.name>
Sat, 4 Dec 2021 21:21:19 +0000 (08:21 +1100)
committerNeilBrown <neil@brown.name>
Sat, 4 Dec 2021 21:21:19 +0000 (08:21 +1100)
00-TODO

diff --git a/00-TODO b/00-TODO
index a973953e12a8706bc8299e8e87cad186f1a17ecf..c4978a79fa6b4b2a913fe20df4e38d7b72c4cb2f 100644 (file)
--- a/00-TODO
+++ b/00-TODO
@@ -4,8 +4,12 @@
 
 ### Current version (Cataract Creek)
 
+- allow global names to be used before they are declared.  Assume global
+   if undeclared, and complain in final analysis.
+   If used in 'use' and 'case', then make it a label
+- avoid definition loops in global constants
 - allow type names to be used before declared.  Need to re-evaluate all
-  type sizes after parse.
+  type sizes after parse. avoid loops
 - resolve the HACK of allowing assign from struct when name starts space.
 - '?' prefix operator returns Boolean, index operator for strings. Can be used to
    test for end-of-string
@@ -18,6 +22,7 @@
 - int nat cyc {i,n,c}{8,16,32,64} - maybe not cyc - it needs size.
 - ops: # & | ~ &~  - no shift: use (N * #shift) or (N / #shift)
 - op=
+- make '.' modifier interpolate a deref if needed
 - 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
@@ -25,8 +30,6 @@
   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??