Thanks! Quite honestly, my primary reason for making it was that I didn't like the Lua object model and Python/Ruby/Guile are a bit inconvenient to embed.
EDIT: The language looks pretty cool in general. I'm not a huge fan of the recursion syntax. In particular, the `this` keyword seems to just refer to the current function object, which is confusing since in other languages that usually refers to the object a method belongs to. Further, the choice of immutable lists as the default data structure is odd -- arrays would be much more performant (and are the usual choice for scripting languages anyway).
Given that there is no array built in type, and the closest thing (list) is a lisp style linked list, I wouldn't expect it to be speedy in any non-trivial benchmark (or real-world use) that requires random access.
The core seems much more interesting than the Pawn language. I'd like to see more comparisons once this matures.
A few points:
1. I'd like to see the FFI implemented natively (i.e. by declaring in Solid and registering through C code/macro, instead of relying on object file parsing). Then it'll be extremely useful in a bare-metal microcontroller environment.
2. Namespacing is needed -- I don't really want `parse_xxx` or `ast_node` in my global namespace!
Just wanted to say, kudos! I think it is essential for a language to have a good C interface otherwise it will be insulated. However some more example would be nice. Furthermore I think you mean "infix" in your documentation and not "inline".
Without debug symbols (the default Makefile includes them), the executable is 83KB (93KB with -g), less than half the size of Lua. The shared library is a bit larger, at 102KB.
Lua's whole table-metatable system always felt awkward to me, what with the magic names for operators. It's really not so bad, I just didn't see any reason to spend time learning something that felt awkward and archaic to me when I could make something that seemed a bit cleaner.
zserge|12 years ago
chameco|12 years ago
theseoafs|12 years ago
EDIT: The language looks pretty cool in general. I'm not a huge fan of the recursion syntax. In particular, the `this` keyword seems to just refer to the current function object, which is confusing since in other languages that usually refers to the object a method belongs to. Further, the choice of immutable lists as the default data structure is odd -- arrays would be much more performant (and are the usual choice for scripting languages anyway).
beagle3|12 years ago
smilekzs|12 years ago
A few points:
1. I'd like to see the FFI implemented natively (i.e. by declaring in Solid and registering through C code/macro, instead of relying on object file parsing). Then it'll be extremely useful in a bare-metal microcontroller environment.
2. Namespacing is needed -- I don't really want `parse_xxx` or `ast_node` in my global namespace!
chameco|12 years ago
helloTree|12 years ago
arthuredelstein|12 years ago
cldr|12 years ago
Also, what did you not like about the Lua object model?
chameco|12 years ago
Lua's whole table-metatable system always felt awkward to me, what with the magic names for operators. It's really not so bad, I just didn't see any reason to spend time learning something that felt awkward and archaic to me when I could make something that seemed a bit cleaner.