aboutsummaryrefslogtreecommitdiff
path: root/lib/core/metaprogramming.nom
AgeCommit message (Collapse)Author
2019-02-06Moving to better, more centralized versioning system. Now the NomsuBruce Hill
version is just defined as a list at the top of nomsu.moon, and uses X.Y.Z form instead of X.Y.Z.W. Added a ([...], from 2) method and a ([...], up to 5) method, and fixed a few upgrade bugs.
2019-02-05Bunch of changes:Bruce Hill
- Added shebangs to generated code output - SyntaxTree:map() -> SyntaxTree:with(), and corresponding changes to metaprogramming API - Added (return Lua 1) shorthand for (return (Lua 1)) - (1 and 2 and 3) compile rule mapping to -> (1 and (*extra arguments*)) - Don't scan for errors, just report them when compiling - Syntax changes: - Added prefix actions (e.g. #$foo) - Operator chars now include utf8 chars - Ditch "escaped nomsu" type (use (\ 1) compile action instead)
2019-01-27Added extra test for safety.Bruce Hill
2019-01-25Added metatables for bool, number, function, coroutine. AddedBruce Hill
run-time check to make sure precompiled code used the same version of Lua. Methods can now be used in (* compiles to *), etc.
2019-01-23Added _1_as_text(), which converts true -> yes, false -> no.Bruce Hill
2019-01-22Moved all the text method stuff into text.moon instead of splittingBruce Hill
across string2/containers. Modified the type stuff to output better type names and use (a Dict) and (a List) instead of (Dict) and (List). (Text) now also has a proper constructor. (assume) now also handles a bunch of different assumptions with smart error messages.
2019-01-18Added `tree` back as a parameter to compile actions, which helps withBruce Hill
better error reporting, e.g. for (fail) (no arguments). Overall better error reporting now. Also added shorthand ("Action" tree with ...) for (SyntaxTree {.type = "Action", .1 = ...}).
2019-01-16Overhauling OO-API a little to make it more minimalistic.Bruce Hill
2019-01-16Better error messaging (using pretty_error in more places)Bruce Hill
2019-01-15Updating to v6.15, which includes "external (...)" instead of separateBruce Hill
'externally' versions of stuff, and some auto-formatting.
2019-01-14Overhaul in progress, mostly working. Moved all the nomsu packages intoBruce Hill
lib/, including core/*. Changes to how nomsu environments and importing work.