mna / agora

a dynamically typed, garbage collected, embeddable programming language built with Go
https://github.com/mna/agora/wiki
BSD 3-Clause "New" or "Revised" License
324 stars 27 forks source link

Beyond v0.1 #2

Open mna opened 11 years ago

mna commented 11 years ago

v0.2? Short-circuiting && and || Support func(){}() syntax (anonymous immediately-invoked func expression) Closures (even required for simple cases like calling a func declared in the module, because the module itself is a function, so it needs to close over those funcs - see 46-json.agora) Coroutines support Range over whatever (for ... := range) using coroutine (range prepares the coro for execution and iterates it)

v0.3? Prototype/metamethods support, get inspiration from Lua (http://tylerneylon.com/a/learn-lua/) or JS or a more Go-like approach using embed or something? Review the this behaviour ~~Literal array notation, created as Object (like Lua) i.e. ar := [10, "test", false]~~ Comma-separated lists in assignment statements (:=, = only) switch statement multiple return values

Beyond?