aboutsummaryrefslogtreecommitdiff
path: root/lib/metaprogramming.nom
AgeCommit message (Collapse)Author
2018-01-12Switched to use load() with environment table instead of passing inBruce Hill
nomsu to everything. This has some nice code cleanliness benefits.
2018-01-11Reshuffled all the library code into files that make more sense andBruce Hill
cleaned up some of the library code.
2018-01-11Purged references to "macro" and replaced with "compile action" orBruce Hill
"compile-time action".
2018-01-11Renamed def->define_action and defmacro->define_macroBruce Hill
2018-01-11Renamed rule % = % to action % %Bruce Hill
2018-01-11Overhaul of error reporting and removing nomsu:call(stub, line_no, ...) in ↵Bruce Hill
favor of nomsu.defs[stub].fn(...)
2018-01-10Pretty much mostly working.Bruce Hill
2018-01-09Cleaned up metaprogramming to go "compile to" -> "rule =" -> "parse as".Bruce Hill
This speeds things up a bit, and is more intuitive.
2018-01-08Modernized the codebase a bit to include "immediately:" for immediatelyBruce Hill
running code before further parsing takes place. That means that in the default case, whole files can be run at once, which makes all but the weirdest edge cases make a lot more sense and operate smoothly.
2018-01-05Cleaning up vars.XX use and removing typecheck.Bruce Hill
2018-01-03Tidying.Bruce Hill
2018-01-03Reworked {} a bit and added dicts to the core language. Did some moreBruce Hill
testing on string interpolations too.
2017-12-30Got everything mostly working.Bruce Hill
2017-12-15Tweaks.Bruce Hill
2017-12-13Got it working.Bruce Hill
2017-12-11More updates with more functional macros and source code storage.Bruce Hill
2017-12-09Pretty much everything is working??Bruce Hill
2017-12-04Incremental progress towards working.Bruce Hill
2017-11-01Fixed remove rule rule.Bruce Hill
2017-11-01Added remove rule rule.Bruce Hill
2017-10-31Added support for serializing rules.Bruce Hill
2017-10-23Removed some unnecessary semicolons on keywords.Bruce Hill
2017-10-19Finally fixed the bullshit way that string literals were converted to lua.Bruce Hill
2017-10-19Abbreviated "lua code" to "lua>" and "lua expr" to "=lua" and "luaBruce Hill
block" to "lua do>"
2017-10-13Improved code generation for "when" statements using elseif, andBruce Hill
improved code generation for loops by omitting goto labels when not used.
2017-10-13Changed generated code to be less verbose for function and macro defsBruce Hill
(using "foo %" syntax instead of {type="FunctionCall", ...} literals).
2017-10-09Added type of alias.Bruce Hill
2017-10-09Added type function.Bruce Hill
2017-10-08Fixed permissions to work better with aliases.Bruce Hill
2017-10-02More progress towards making everything work.Bruce Hill
2017-10-02Updated to undo some of the block/thunk stuff. Thunks are thunks, andBruce Hill
expressions can be grouped with parens, and they have a clear distinction.
2017-09-29More stuff is working more better.Bruce Hill
2017-09-28Fixed some of secrets' functionality by rewriting rule % = %Bruce Hill
2017-09-28Kinda mostly working, except for closure vars like in lib/secrets.nom.Bruce Hill
2017-09-26Making forward progress.Bruce Hill
2017-09-25lib/metaprogramming.nom is working!Bruce Hill
2017-09-24massive overhaul, compiler kinda works.Bruce Hill
2017-09-22Renamed compiler -> nomsu for concision and clarity.Bruce Hill
2017-09-22Cleaned up code generation to have less cruft.Bruce Hill
2017-09-21Overhaul of invocations/specs. Much cleaner and more consistent now,Bruce Hill
with less code duplication.
2017-09-21Optimization and cleanup pass.Bruce Hill
2017-09-21Everything fixed up and some reduced lua codespew too!Bruce Hill
2017-09-21Another overhaul, this time pulling all the chunks of the core lib intoBruce Hill
their own files.