aboutsummaryrefslogtreecommitdiff
path: root/core/metaprogramming.nom
AgeCommit message (Collapse)Author
2018-12-14Updating to support multiple method calls.Bruce Hill
2018-12-14Initial setup work for syntax version 5.Bruce Hill
2018-11-29Renamed append/concat_append to add/concat_add for Code objects.Bruce Hill
2018-11-26Upgraded/autoformatted.Bruce Hill
2018-11-26Simplifying the control flow API and deduplicating the code.Bruce Hill
2018-11-21Fixed tests to work better with different syntax versions.Bruce Hill
2018-11-20Simplifying the filesystem code (no longer entangled with nomsupath) andBruce Hill
using that to simplify the tools. Now the tools directly take lists of file paths rather than things that might go through nomsupath or directories or get processed by filetype. Use your shell for globbing stuff like `nomsu tools/test.nom core/*.nom`
2018-11-19Autoformatted/auto-upgraded.Bruce Hill
2018-11-19Tweaks and API cleanup.Bruce Hill
2018-11-17In-progress (but working) overhaul of some elements including: functionBruce Hill
calls, lib/thing.nom API, multi-assignments, varargs, etc.
2018-11-11Fully upgraded to 4.10.12.7, including deprecating the old list/dictBruce Hill
comprehension methods, in favor of the new native support.
2018-11-09Fixing the upgrade pipeline, plus some misc. fixes.Bruce Hill
2018-11-09No longer passing `tree` to every compile action. Now, you can justBruce Hill
return a LuaCode object, and it will automatically get a source from `tree` if it didn't already have a source. Plus some fixes/cleanup.
2018-11-09Deprecating (% as lua statements) and (% as lua return)Bruce Hill
2018-11-09Lots of cleanups, including expanded use of (... compiles to "textBruce Hill
literal") shorthand, deprecating Lua value, and more use of Lua "..." with text interpolations.
2018-11-08Major overhaul, splitting nomsu_compiler into nomsu_environment,Bruce Hill
nomsu_compiler, and nomsu_decompiler. Also added comprehensions.
2018-11-06Removed utils.lua, simplified some metaprogramming stuff, added native supportBruce Hill
for calling functions with (%a %b %c) instead of (call %a with [%b, %c]), renamed _List -> List, _Dict -> Dict, improved example code.
2018-11-02Changed stub convention to (foo 1 baz 2) -> foo_1_baz instead ofBruce Hill
foo_1_baz_2, removed "smext", made some cleanup changes.
2018-10-31Simplified AST to just use a single moonscript class called "SyntaxTree"Bruce Hill
instead of a different metatable for each type of syntax tree.
2018-10-31Renamed (action %) -> (%'s meaning)Bruce Hill
2018-10-30Fully working version of (action [foo]: baz) -> ((foo) means: baz)Bruce Hill
refactor and misc other changes.
2018-10-29Some cleanups and fixes, made the parser more permissive of prematurelyBruce Hill
terminated files.
2018-09-28Fully working, I think? (with a lot of shims)Bruce Hill
2018-09-26Fix for calling function with non-literal list.Bruce Hill
2018-09-26Fixed all syntax errors, got original (non-nomnom) tests passing.Bruce Hill
2018-09-26Incremental fixes and more nomnom ports.Bruce Hill
2018-09-21Incremental checkin, currently not working, just saving progress.Bruce Hill
2018-09-18Got rid of repr() use and replaced with :as_lua() or :as_nomsu() in asBruce Hill
many places as possible.
2018-09-17Added support for compile actions returning trees, and compiling blocksBruce Hill
into values.
2018-09-16Working module system.Bruce Hill
2018-09-15Initial working version.Bruce Hill
2018-09-14Auto-upgraded everything.Bruce Hill
2018-09-10Removing dead code and string.as_lua_id() (now just set on stringBruce Hill
metametatable)
2018-09-10Upgraded to 3.8 (text method changes) and fixed some bugs inBruce Hill
tree_to_nomsu.
2018-09-06Removed the mandatory "_" prefix for Nomsu variables, renamed "list" andBruce Hill
"dict" to "List" and "Dict", or in Nomsu's environment, "_List" and "_Dict", removed uuid.lua and replaced it with core/id.nom for handling IDs.
2018-08-31Removing the "A_" prefix on action names, and improving the quality ofBruce Hill
as_lua_id() (guaranteed injectivity).
2018-08-30Auto-upgraded to 3.7Bruce Hill
2018-08-29Handling more compatibility stuff, including Lua 5.4, and a backup forBruce Hill
if openssl module is not found, and moving containers (List/Dict) into their own file, as well as bit operators (and support for __bxor, etc. metamethods in Lua 5.2/LuaJIT)
2018-08-29Fully updated to 3.6, deprecated old LuaCode global functions like "to 1Bruce Hill
write 2" and replaced them with method calls like "1::append 2"
2018-08-29Intermediate step in upgrading to 3.6. Fixed a bug with upgradingBruce Hill
methods.
2018-08-29Switched "as_lua_id" to not add an underscore by default, and just addBruce Hill
it manually to variables and A_ as a prefix to actions. Now, by default, classes and method calls don't use the A_ prefix, which means nomsu can more easily play nice with regular Lua objects.
2018-08-28Upgraded version to 3.5.5.6, corresponding to Object Oriented changes.Bruce Hill
2018-08-28Lots of overhaul, supporting a new Object Oriented approach (e.g.Bruce Hill
%obj::action 1 2) and syntax.
2018-08-27Bunch of miscellaneous changes. Paved the way a little bit for havingBruce Hill
different compiler domains.
2018-07-30Added compatibility for 2.5.5.5 (file hash changes).Bruce Hill
2018-07-30Changed autoformatting rules to ensure tests get clumped together withBruce Hill
the thing below them.
2018-07-25Updated version numbers.Bruce Hill
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.