dao
dao copied to clipboard
Dao Programming Language
It is quite confusing that `list(5){ 0 }` yields `list`. Changing `list(...)` to plain `list(...)`, so that the type is inferred from the code section result, should solve this trivially....
``` ruby (dao) i = 0 = 0 (dao) j = i = 1 [[ERROR]] in file "code string": At line 1 : Invalid statement --- " i "; At...
``` ruby (dao) 1 + 'a' [[ERROR]] in file "code string": At line 1 : Invalid expression --- " 1 + 'a' "; At line 1 : Invalid constant expression;...
``` ruby (dao) x = none = none (dao) if (x) io.writeln(1) = none (dao) if (not x) io.writeln(2) [[Error::Type]] --- Invalid type: on none object In code snippet: 0...
Just compare: ``` ruby io.writeln('$(some)'.expand((some = 'abc',))) # vs io.writeln('$(some)'.expand(some = 'abc')) ```
It would be quite convenient to allow assignment to a tuple in a for-in loop like this: ``` ruby m={0->5, 1->6, 2->7} for ((a,b) in m) io.writeln(a, b) ```
``` ruby (dao) routine f(x: enum){} = none (dao) f($a + $c) [[ERROR]] in file "interactive codes": At line 0 : Invalid function definition --- " __main__() "; At line...
``` ruby (dao) class A { ..... routine =(other: A){} ..... } = none (dao) class B { ..... routine (){} ..... } = none ```
It would be great to be able to extract all routines in a namespace decorated by a specific decorator. That it, using decorator as an annotation to automate registering of...
``` ruby (dao) const Err = Error::define('Some') = none (dao) switch (invar e = std.try{}) type { ..... case Err: io.writeln(err.line) ..... } [[ERROR]] in file "interactive codes": At line...