Calvin Rose
7910a5feef
Add compile time arity checking.
...
This should help catch a number of errors, but it
is a very shallow implementation of type checking. It will
catch some common misuses of functions at compile time
rather than runtime.
2019-09-30 19:50:42 -05:00
Calvin Rose
2becd196dd
Fix incomplete error message.
2019-09-25 09:29:29 -05:00
Calvin Rose
bcb45157a8
Update CHANGELOG.md
2019-09-24 21:25:21 -05:00
Calvin Rose
70ffe3b6bd
Add slice function to core.
...
Returns immutable slices.
2019-09-24 19:44:36 -05:00
Calvin Rose
339dea9390
Add optional argument functions to c api.
...
These are just helpers to make parameters than can be nil with a
default value easier to handle in a consitent way.
2019-09-24 19:40:49 -05:00
Calvin Rose
b26a7bb22a
Disallow the empty string for some string fns.
...
This will prevent these functions from being run
with empty strings, which usually produces useless
output, as the internal string search algorithm will
never "find" empty strings. This is by design, as it is
not always obvious which empty strings should be found in
the search text.
2019-09-24 13:23:18 -05:00
Calvin Rose
45dfc7cc96
Fix debug/break search algorithm.
2019-09-22 18:08:38 -05:00
Calvin Rose
9d020c3ec5
Update CHANGELOG.md
2019-09-22 18:00:53 -05:00
Calvin Rose
8cda06b995
GCC seemed to not fill array of computed gotos.
...
This is expected as per the C standard, but segfaulted
unless all 255 labels were added.
2019-09-22 17:56:33 -05:00
Calvin Rose
a8afc5b81f
Sourcemapping uses line, column instead of offsets.
...
This should be friendlier to most users. It does, however, mean
we lose range information. However, range information could be
recovered by re-parsing, as janet's grammar is simple enough to do this.
2019-09-22 17:18:28 -05:00
Calvin Rose
228d045a06
Fix formatting.
2019-09-22 15:17:06 -05:00
Calvin Rose
c447e7b3a5
Update changelog.
2019-09-22 15:15:28 -05:00
Calvin Rose
803c3fc235
Add line, col to error messages when available.
2019-09-22 15:13:21 -05:00
Calvin Rose
a032529437
Let jpm projects work better on windows.
...
Handle paths with normal, forward slashes better.
2019-09-22 14:01:14 -04:00
Calvin Rose
7bee204390
Fix installer.
2019-09-22 13:29:34 -04:00
Calvin Rose
064a700edd
Merge branch 'master' of github.com:janet-lang/janet
2019-09-22 12:54:50 -04:00
Calvin Rose
7809f89dfc
1.3.1 Release
...
Small changes, mostly just fixing minor bugs.
2019-09-21 19:15:02 -05:00
Calvin Rose
940860755c
jpm: Read :lflags from meta file when linking.
...
Let us link in native code that itself neads to be linked
to native code when creating standalone executables.
2019-09-21 18:57:04 -05:00
Calvin Rose
1b283c47b4
Remove macos update_dyld_shared_cache
...
This just doesn't work well for a non global install.
It is better packages that need this to run it themselves.
2019-09-20 13:13:05 -05:00
Calvin Rose
8e427317cd
Add mean function to boot.janet
...
Update changelog.
2019-09-19 21:21:14 -05:00
Calvin Rose
908a3b6f5c
Address #160 : Use ldconfig alternative on macos.
...
update_dyld_shared_cache seems to work on macos.
2019-09-18 12:20:59 -05:00
Calvin Rose
f2ba91899f
jpm test now starts a new interpreter per test.
...
This should help with setup/teardown semantics, especially
with native modules.
2019-09-16 00:48:35 -05:00
Calvin Rose
16127fc55c
Remove printf in regalloc.c
...
This should never be hit unless there is a
bug in the compiler, but should be removed.
2019-09-15 18:17:43 -05:00
Calvin Rose
97d874f16b
Fix small compiler bug (not freeing temp register).
2019-09-15 13:27:49 -05:00
Calvin Rose
8aba5e76ae
Sort files when running tests.
2019-09-14 19:39:14 -05:00
Calvin Rose
0e7144f2dc
Add :headers option to build recipes
...
This lets recipes do better change detection.
2019-09-14 12:40:01 -05:00
Calvin Rose
9f48c3e2db
Remove :r from amalg.janet
2019-09-12 23:34:14 -05:00
Calvin Rose
e6306ea188
Add script for removing <CR> on windows.
...
This caused bad stuff to be generated on windows, specifically
the amalg file. We cause totally strip <CR> from files on windows
using this script.
2019-09-12 23:18:52 -05:00
Calvin Rose
0e99d8d80f
Merge pull request #167 from ato/patch-1
...
Correct old name all-symbols to all-bindings in README
2019-09-10 23:21:58 -04:00
Alex Osborne
de5cd73cd7
Correct old name all-symbols to all-bindings
2019-09-11 12:05:41 +09:00
Calvin Rose
b585d19519
Merge pull request #164 from AlbertoGP/master
...
Defuse tarbomb: wrap tar file contents in directory, fix #163
2019-09-09 19:16:43 -04:00
Alberto González Palomo
8753d2dcb8
Defuse tarbomb: wrap tar file contents in directory
...
https://en.wikipedia.org/wiki/Tar_(computing)#Tarbomb
http://www.linfo.org/tarbomb.html
2019-09-09 18:59:29 +02:00
Calvin Rose
39f1d81fd4
Use :length method for (length abstract)
...
Also adds the janet_lengthv API call. This is
needed because janet_length returns a 32 bit integer, where
as lengthv lets us return larger values (useful for typed arrays).
janet_mcall is an api function that should make it easier to call
a janet method from C code. It shares a similar signature with
janet_call.
2019-09-08 19:26:16 -05:00
Calvin Rose
fcd203c646
Merge branch 'master' of github.com:janet-lang/janet
2019-09-05 21:10:50 -04:00
Calvin Rose
4ebb749131
Update appveyor configuration.
2019-09-05 19:43:06 -05:00
Calvin Rose
37a943d9b5
1.3.0 Release
2019-09-05 19:33:08 -05:00
Calvin Rose
2f2b875c2a
Update CHANGELOG.md
2019-09-05 13:21:17 -05:00
Calvin Rose
99f147219a
Add put-in.
2019-09-05 13:19:25 -05:00
Calvin Rose
7a13d24e6f
Add get-in, update-in, and freeze to core.
2019-09-05 13:11:53 -05:00
Calvin Rose
8dc91755f7
Work on makefile and build for jpm.1
2019-09-05 12:28:11 -05:00
Calvin Rose
96a3104fe2
Update to 1.3.0, add jpm.1
2019-09-04 23:44:23 -05:00
Calvin Rose
97f525d069
Update CHANGELOG.md
2019-09-01 11:37:43 -05:00
Calvin Rose
4ad1bdec15
Add jpm run
and jpm rules
2019-09-01 11:26:48 -05:00
Calvin Rose
530d94a4b9
Allow relative paths for jpm commands (deps)
...
Also default headerpath, libpath, and binpath of
of (dyn :syspath) instead of $JANET_MODPATH. This
allows setting $JANET_MODPATH without needing to
mess with the other settings.
2019-09-01 11:08:39 -05:00
Calvin Rose
141d3e9588
Add option for using tags in jpm deps.
2019-08-30 18:23:13 -05:00
Calvin Rose
98eaadf2d1
Simplify peg caching further.
...
Remove the multiple caching tables we were using
and use the grammar table for caching. This works
well because we can use raw_get for checking the local cache, and normal
get fro checking the global cache.
2019-08-30 08:57:45 -05:00
Calvin Rose
54a04b5894
Fix some more recursion issues with pegs.
...
A keyword reference only counts as visited if we have
it as cached in the memoized->table, and we know it was
originally referenced from the same grammar table. If these
two conditions are true, then compilation must work correctly.
Also add janet_table_get_ex.
2019-08-29 19:56:04 -05:00
Calvin Rose
8bc8709d0e
Try to address memoization problem in pegs.
2019-08-29 19:09:43 -05:00
Calvin Rose
730080e6fd
Get rid of robocopy nonsense.
...
xcopy works fine, just need /s flag.
2019-08-29 02:57:47 -04:00
Calvin Rose
d4b49cd622
Windows fixes for jpm.
2019-08-29 02:02:05 -04:00