aboutsummaryrefslogtreecommitdiff
path: root/core/metaprogramming.nom
AgeCommit message (Collapse)Author
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).
2018-05-04Removing varargs from free var functions.Bruce Hill
2018-05-03Overhaul with smaller, more concise codebase around definingBruce Hill
actions/macros, and deleting some dead code.
2018-04-27Better text interpolation/handling of "\". Also added syntax support forBruce Hill
(statement; statement)
2018-04-26Cleaning up codegen and TODOBruce Hill
2018-04-25Overhauling parsing of Blocks (can no longer contain only one statement)Bruce Hill
2018-04-25Removing end-of-line ":" and "(..)" for blocks (they just useBruce Hill
indentation now).
2018-04-24Switched repr() to only return ""-style strings, and not [[]]-style,Bruce Hill
which helps with indenting generated lua code correctly. Also made a few ergonomic fixes/changes for line breaking.
2018-04-20Lots of optimizations.Bruce Hill