aboutsummaryrefslogtreecommitdiff
path: root/core/metaprogramming.nom
AgeCommit message (Collapse)Author
2018-07-24Added parens around lambdas (% -> %), and removed them from 'result %'Bruce Hill
correspondingly.
2018-07-22Re-autoformatted everything. The main changes are: no longer adding aBruce Hill
newline after 1-line indented code inside blocks, and forcing files to have a trailing newline. The trailing newline thing created a lot of spurious changes.
2018-07-22Shifting further towards having inline tests. Also added a helperBruce Hill
function for directly extracting source lines from a Source or AST.
2018-07-20Auto-formatted and auto-upgraded everything!Bruce Hill
2018-07-20Tweaks to the API for text matching.Bruce Hill
2018-07-18Updating to version 2.4.4.3, with new syntax for multi-statement 'if'Bruce Hill
and switch statements.
2018-07-18Upgrading to version 2.3 (main change: "=" instead of "<-" forBruce Hill
assignment)
2018-07-18Prep work for next big upgrade, including adding a shorthand forBruce Hill
upgrading actions similarly to 'parse % as %'
2018-07-17Upgraded core code to latest Nomsu verison.Bruce Hill
2018-07-17Overhaul of comment handling, plus a few fixes (e.g. a fix for indentedBruce Hill
text that begins with a nomsu comment)
2018-07-15Major changes to how versioning and parsing work. This should be aBruce Hill
better path going forward to handling upgrades. Old syntax files will stick around for compatibility purposes. Old syntax can be parsed into valid syntax trees via the old syntax (.peg) files, and then old syntax trees should be valid and can be upgraded via the normal code path. This change has lots of improvements to Nomsu codegen too.
2018-07-14Fixed up some edge cases with parsing and comments.Bruce Hill
2018-07-13Minor changes.Bruce Hill
2018-07-10Fixing up error reporting and ripping out LDT-specific code (now aBruce Hill
debugger can be provided by a command line flag)
2018-06-26Cleaning up metaprogramming a bit and fixing/adding test for recursionBruce Hill
control flow.
2018-06-24Simplifications/streamlining the Make process, and cleaning up some ofBruce Hill
how command line interaction and `use %` work.
2018-06-23Moved console colors from core/ into lib/Bruce Hill
2018-06-23Fixed incorrect version ordering (was: Syntax.Compiler.Core.Lib, butBruce Hill
should be: Syntax.Core.Compiler.Lib)
2018-06-23Added versioning system.Bruce Hill
2018-06-21Cleanup of some metaprogramming stuff, as well as adding support forBruce Hill
"package.nomsupath" to search for files in different locations, and prioritizing use of "luafilesystem" over system calls.
2018-06-20Cleanups.Bruce Hill
2018-06-18Minor cleanupsBruce Hill
2018-06-18More streamlining and cleanup.Bruce Hill
2018-06-18Initial working version.Bruce Hill
2018-06-14Some cleanup and fixes. Simplifying a lot of code, and extending theBruce Hill
flexibility of scoping. Redesigned Object system too.
2018-06-14Reshuffling some files.Bruce Hill
2018-06-14More streamlining and cleanup. Especially for core/metaprogramming.nomBruce Hill
2018-06-12Fixed some bugs.Bruce Hill
2018-06-12Working version.Bruce Hill
2018-06-12Lots of optimizations and simplifications, especially towards gettingBruce Hill
better performance on luajit.
2018-06-12Removed dependency on 'immutable' library. This lets LuaJIT do moreBruce Hill
aggressive optimizations and generally helps performance. Some safety is lost, but I think the performance gains, reduced complexity, and reduced dependencies are worth it.
2018-06-12Tidying up exceptions and error reporting. Also simplified the grammar aBruce Hill
tiny bit.
2018-06-06Added list/dict metatables to make comparison and string representationsBruce Hill
simpler. Also deleted Counters.
2018-06-04Optimizations and cleanup. Build script now fails on first error andBruce Hill
uses the precompiled versions it has just compiled.
2018-06-04Switched from Node(Tuple(values...), source) to Node(source, values...),Bruce Hill
thanks to support from immutable-tables for mixed tables.
2018-05-30Simplified and correctified lib/object (though the codegen still needBruce Hill
streamlining), added a .stub member to Action trees, and switched Source's repr to be @filename[start:stop] instead of "filename[start:stop]"
2018-05-30Dead code cleanupBruce Hill
2018-05-27Some tweaks/cleanup on the nomsu code as well as adding variableBruce Hill
mangling to 'parse % as %' to make almost hygienic macros.
2018-05-26Re-added sources.Bruce Hill
2018-05-24Consolidating code obj code and expunging all [[..]]-style lua strings.Bruce Hill
2018-05-16Moved all the tree->lua and tree->nomsu code back into single functionsBruce Hill
in nomsu.moon, and cleaned up how Vars are treated, since they are not atomic.
2018-05-16Initial working version.Bruce Hill
2018-05-16Converted DictEntry to be an actual tree, instead of a pseudo-tree, made ↵Bruce Hill
'parse % as %' generate lua code with already-substituted tree literals instead of reparsing and substituting at parse time, and made some general optimizations.
2018-05-15Cleaning up comments.Bruce Hill
2018-05-15Adding support for coroutines, and cleaning up comment syntax.Bruce Hill
2018-05-15More API cleanup, and fixed a bug with optimized lua files generatingBruce Hill
spurious circular import errors.
2018-05-15Minor cleanups changes.Bruce Hill
2018-05-11Switched to use inline nomsu generation for `Nomsu` tree luaBruce Hill
compilation and removed some dead code around Nomsu.debug
2018-05-10Cleanup: removed "File" type trees (now just Block), overhauledBruce Hill
how_do_i.nom, added "result of %" macro, which allowed comprehensions to be way more concisely defined. Moved len() operator into the nomsu environment.
2018-05-09Added tentative support for luajit (depends on pure-lua LPEGBruce Hill
implementation).