078851e028
Fix for Lua 5.4 tweaking return values for require()
2021-01-29 17:16:33 -08:00
c92cf76356
Fix for finding source files when they're in the NOMSUPATH
2019-03-27 14:40:28 -07:00
783eec9b45
Made iteration easier to work with by using .__inext and .__next for
...
custom iteration, and a custom ipairs() and pairs() to use that.
2019-03-13 20:55:59 -07:00
c6734d82e9
Passing around DictEntry and changing API to _1_as_an_iterable
2019-03-09 15:59:41 -08:00
58707b18f7
Fixed a shebang issue
2019-03-04 14:30:44 -08:00
057f5b74eb
Moving to better, more centralized versioning system. Now the Nomsu
...
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-06 15:34:00 -08:00
72d699fe86
Bunch of changes:
...
- 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-02-05 15:47:01 -08:00
bc41cc3a24
Switched to have colors/utf8 be optional, fixed an issue with currently
...
running files leaking when errors occurred (causing spurious circular
import errors), and improved tutorial.
2019-01-29 16:17:33 -08:00
a1b559a3a2
Added metatables for bool, number, function, coroutine. Added
...
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-25 15:50:51 -08:00
fb20a1f48a
Added _1_as_text(), which converts true -> yes, false -> no.
2019-01-23 15:42:50 -08:00
f746ba34d7
Moved all the text method stuff into text.moon instead of splitting
...
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-22 16:16:53 -08:00
5a99a24176
Better error handling.
2019-01-18 20:46:10 -08:00
8ca7749b55
Better error messaging (using pretty_error in more places)
2019-01-16 16:32:02 -08:00
bf37295fae
Updating to v6.15, which includes "external (...)" instead of separate
...
'externally' versions of stuff, and some auto-formatting.
2019-01-15 15:54:28 -08:00
ddef8be3df
Moved compatibility to lib/ and fixed path searching for .peg files.
2019-01-14 17:14:57 -08:00
c1c32688a4
Overhaul in progress, mostly working. Moved all the nomsu packages into
...
lib/, including core/*. Changes to how nomsu environments and importing
work.
2019-01-14 15:43:24 -08:00
43e45b1452
Tweaked code to use both _ENV and _G for better compatibility of
...
precompiled Lua between Lua 5.2+ and LuaJIT
2019-01-11 15:27:41 -08:00
0f0fb2256a
Major overhaul of how modules and environments work, along with some
...
steamlining and tweaks to the makefile. Version bump: 6.14.13.8
2019-01-10 16:35:08 -08:00
1d2bd858fd
Made the source mapping optional (and disabled with -O2+)
2019-01-08 16:35:51 -08:00
2048d4468a
Added quit/exit and switched Files.read->exists.
2019-01-07 21:42:26 -08:00
dff2c1c915
Fixed bug where cached files would incorrectly appear to not have been
...
found.
2018-12-31 00:28:08 -08:00
17fc0a0e38
Fix for files getting run twice by (use "")
2018-12-15 15:14:56 -08:00
d30f6a397d
Fixed some bugs, including upgrade --upgrade-from=version not working.
...
Also updated the README.
2018-12-14 20:34:49 -08:00
cbbe6b1c14
Updated and fixed the command line API. Introduced the "-t tool" flag
...
for more concisely running tools, removed the "-I file" and replaced it
with "-m files..."
2018-11-26 16:17:07 -08:00
1a794c6487
Tweaks and tidying.
2018-11-23 17:22:29 -08:00
2bbc035f5d
Simplifying the filesystem code (no longer entangled with nomsupath) and
...
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-20 14:54:40 -08:00
acd1191fb0
Tweaks and API cleanup.
2018-11-19 17:21:17 -08:00
7f47d42040
In-progress (but working) overhaul of some elements including: function
...
calls, lib/thing.nom API, multi-assignments, varargs, etc.
2018-11-17 14:39:08 -08:00
a84242b849
Cleaning up say/print and io.write (now you can use (say "foo" inline))
2018-11-11 19:01:31 -08:00
c9db20040e
Fixed compatibility thing with NomsuCode::from
2018-11-11 18:34:31 -08:00
171e9d674e
Re-implemented nomsu -> lua comment translation and added file chunk
...
comments.
2018-11-11 18:28:34 -08:00
b918668f18
Fixed -O optimization flag.
2018-11-11 18:03:25 -08:00
9a75d25c84
Lots of fixes to the upgrading and codegen/autoformatting pipeline, also
...
deleted nomnom files, since they're mostly not needed anymore.
2018-11-11 15:05:56 -08:00
e96ae0c78d
Removed debug code.
2018-11-09 17:25:16 -08:00
69aaea030e
No longer passing tree
to every compile action. Now, you can just
...
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-09 16:41:19 -08:00
a2f07415c5
Deprecating (% as lua statements) and (% as lua return)
2018-11-09 14:48:40 -08:00
7d2b7199d8
Lots of cleanups, including expanded use of (... compiles to "text
...
literal") shorthand, deprecating Lua value, and more use of Lua "..."
with text interpolations.
2018-11-09 14:37:22 -08:00
652c29bdef
Major overhaul, splitting nomsu_compiler into nomsu_environment,
...
nomsu_compiler, and nomsu_decompiler. Also added comprehensions.
2018-11-08 15:24:15 -08:00