Exactly 3 months ago I released MoonScript. The CoffeeScript inspired language that compiles to Lua. Since then I've both written a lot of MoonScript and enhanced the MoonScript compiler.
Today I'm proud to release v0.2.0. I've got a handful of new features and bug fixes:
Thanks for checking it out, follow me on twitter for updates or complaints.
,is used instead of
:for delimiting table slice parts.
__baseis also used in inheritance when chaining metatables.
selfin this scope refers to the class itself.
superkeyword in instance methods.
object\function_nameas a value. Called function stubs.
export *statement to export all assigned names following the statement.
export ^statement to export all assigning names that begin with a capital letter following the statement.
exportcan be used before any assignment or class declaration to export just that assignment (or class declaration).
:hellois short hand for
hello: helloinside of table literal.
..=for string concatenation.
table.insertno longer used to build accumlated values in comprehensions.
moonscriptmodule to load/run MoonScript code.
moonscriptmodule to convert a MoonScript code string to Lua string.
inotifyis not available.
I'm now including a small set of useful functions in a single module called
Documentation is available here.
...within comprehensions when the compiled code uses an intermediate function in the output.
@in function definitions work outside of classes work with default values.
Since the first release, I've written one other project in MoonScript (other than the compiler). It’s a static site generator called sitegen. It’s what I now use to generate all of my project pages and this blog.