aboutsummaryrefslogtreecommitdiff
path: root/nomsu.lua
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-29Switched to have colors/utf8 be optional, fixed an issue with currentlyBruce Hill
running files leaking when errors occurred (causing spurious circular import errors), and improved tutorial.
2019-01-27Adding support for windowsBruce 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-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-18Removed unnecessary import.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-14Added warning for nomsu -c foo.luaBruce Hill
2019-01-14Fix for nomsu -v foo.lua, and made default nomsupath /opt/nomsu insteadBruce Hill
of /opt
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.
2019-01-10Major overhaul of how modules and environments work, along with someBruce Hill
steamlining and tweaks to the makefile. Version bump: 6.14.13.8
2018-12-31Fix for bug in nomsupath checking of input files.Bruce Hill
2018-12-31Overhaul of command line argument parsing. Now supports "-abc" as 3Bruce Hill
flags, and stores them as .a, .b, .c instead of ."-a", etc. (same for --args)
2018-12-18Improved command line interface and robustness of tools.Bruce Hill
2018-11-26Updated and fixed the command line API. Introduced the "-t tool" flagBruce Hill
for more concisely running tools, removed the "-I file" and replaced it with "-m files..."
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-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-11Re-implemented nomsu -> lua comment translation and added file chunkBruce Hill
comments.
2018-11-11Fixed -O optimization flag.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-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-10-31Bumped version number, fixed REPL, and simplified/fixed (use %).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-16Working module system.Bruce Hill
2018-09-15Initial working version.Bruce Hill
2018-09-14Auto-upgraded everything.Bruce Hill
2018-09-12Initial working version.Bruce Hill
2018-09-08Minor fixes/tidying.Bruce Hill
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-07-30Fix for REPL not getting launched when `nomsu -I lib` is run.Bruce Hill
2018-07-24Fixed stdin handling.Bruce Hill
2018-07-24Updating file stuff for better compatibility with Lua 5.2 and fixingBruce Hill
some bugs. Also updated README to provide more compatibility info and list Lua5.2+ as a requirement.
2018-07-24Switched to optimization level 1 by default (i.e. use precompiled nomsuBruce Hill
files).
2018-07-24Updated package.nomsupath behavior to first search the installedBruce Hill
locations, *then* search the current directory. This makes the system `nomsu` run properly, even if the local directory has a broken file that has the same name as a nomsu file.
2018-07-23Recompiled files.Bruce Hill
2018-07-23Run 'use "core"' by default before running anything else, unless --no-core ↵Bruce Hill
command line flag is used.
2018-07-21Improvements working towards better inline tests. Improved handling ofBruce Hill
file spoofing and adding -e command line flag for executing a string.
2018-07-17Removing minor change.Bruce Hill
2018-07-17Optimization/simplification pass.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-12All tests passing.Bruce Hill
2018-07-10Fixed up line numbers for generated code.Bruce Hill
2018-07-10Updated doc for debugger.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-07-09Made command line args into a proper Nomsu list.Bruce Hill
2018-07-09Simplified the command line interface.Bruce Hill