dao
dao copied to clipboard
Dao Programming Language
``` ruby (dao) m = {1 -> 2} = { 1 -> 2 } (dao) 'a' in m = false (dao) l = {1} = { 1 } (dao) 'a'...
Easier to handle `none` than catch error.
``` ruby (dao) l = {1:10} = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } (dao) l[1:2:3] [[ERROR]] in file "interactive codes": At line 0 :...
``` ruby (dao) l = [] = [ ] (dao) l = [1] [[ERROR]] in file "interactive codes": At line 0 : Invalid function definition --- " __main__() "; At...
``` ruby (dao) r = {1}.iterate.{$backward} = routine_20_0x1289d00 (dao) r(){io.writeln(X)} [[ERROR]] in file "interactive codes": At line 0 : Invalid function definition --- " __main__() "; At line 1 :...
``` ruby (dao) routine f(){} = none (dao) r = f.{1} = routine_20_0xa1d3a0 ``` Runtime error will be raised upon calling `r`, but I expect it to be handled at...
It is quite strange that the core contains file reading functionality but omits writing. If stream-based file IO is going to stay in separate module, something in the spirit of...
``` ruby (dao) c: enum = 1 = 1 ``` It's becomes very dangerous in case of routine params.
`switch (var x = ...)` or `switch (invar x = ...)` work, but not `switch (x = ...)`. This omission looks inconsistent with `for` and `while` syntax.
``` ruby (dao) l = {1} = { 1 } (dao) l += l [[ERROR]] in file "interactive codes": At line 0 : Invalid function definition --- " __main__() ";...