Commit Graph

121 Commits

Author SHA1 Message Date
Calvin Rose 9d8af7355f Improve getline. 2020-01-18 00:30:46 -06:00
Calvin Rose 962cd7e5f5 Add when-with and if-with
This is useful for reading from files.
2020-01-15 22:56:40 -06:00
Calvin Rose 65be9ae095 Add defer and assert to the core. 2020-01-15 22:39:14 -06:00
Calvin Rose f001b0a40c Update Changelog
Also change how add-body in jpm works. We keep an array of thunks
instead of a single thunk.
2020-01-13 20:51:11 -06:00
Calvin Rose f709d7eb40 Add `module/add-paths`
This should make it much easier to make custom DSLs work
well with the import system. No need to mess about with import paths,
 things will just work.
2020-01-12 20:59:45 -06:00
Calvin Rose ef02dacdb4 Update changelog. 2019-12-31 12:17:32 -05:00
Calvin Rose 52dd0f132a Remove emscripten build.
Prefer using custom toolchain with amalgmated build.
2019-12-28 16:11:15 -05:00
Calvin Rose 022be217a2 Remove ==, not==, and order[<,<=,>,>=].
This unifies equality and comparison checking. Before, we had
separate functions and vm opcodes for comparing general values vs.
for comparing numbers, where the numberic functions were polymorphic and
had special cases for handling NaNs. By unfiying them, abstract types
can now better integrate with other number types and behave as keys.

For now, the old functions are aliased but will eventually be removed.
2019-12-28 16:04:15 -05:00
Calvin Rose 5528bca7a9 Version bump to dev version. 2019-12-28 11:58:40 -05:00
Calvin Rose da93a73dbd Version bump to 1.6.0. 2019-12-22 12:09:56 -05:00
Calvin Rose e28262f5ab Add array/fill
This function has similar semantics to buffer/fill.
2019-12-19 12:58:11 -05:00
Calvin Rose 94b472df64 Update jpm with show-paths
Update CHANGELOG.md as well.
2019-12-15 22:02:33 -06:00
Calvin Rose bc8ee207d5 Address #219.
Adds several shorthands to the C API.
2019-12-14 11:31:46 -06:00
Calvin Rose eca42e98f6 Update CHANGELOG.md 2019-12-12 19:39:00 -06:00
Calvin Rose f24e2f8706 Update CHANGELOG.md 2019-12-12 17:51:49 -06:00
Calvin Rose 5b9eda5e87 Add root-env
This makes images smaller without needing to make sure
that no references to the root environment occur in the final
image.
2019-12-12 17:25:04 -06:00
Calvin Rose eb1988a5ae Update CHANGELOG.md 2019-12-09 18:26:58 -06:00
Calvin Rose 4c5734c2ee Update CHANGELOG.md 2019-12-07 10:35:40 -06:00
Calvin Rose 4a0ee5df7d Address #215
Also update docs for module/expand-path.
2019-12-06 19:54:11 -06:00
Calvin Rose 77cb823719 Update CHANGELOG.md 2019-12-04 20:02:15 -06:00
Calvin Rose 11a7a7069a Update CHANGELOG.md 2019-12-04 18:46:36 -06:00
Calvin Rose 8ca10f37bd Update CHANGELOG.md 2019-12-04 16:51:34 -06:00
Calvin Rose 6bc400eb8c Update CHANGELOG.md 2019-11-25 20:11:10 -06:00
Calvin Rose bcd2089f71 Version 1.5.1 2019-11-16 17:17:13 -06:00
Calvin Rose 6b76ac3d18 Fix bug when appending buffer to self.
janet_to_string_b had a bug when printing buffers.
2019-11-10 14:57:09 -06:00
Calvin Rose 5681e02e0f Update deployment and fix changelog. 2019-11-10 11:30:31 -06:00
Calvin Rose 0d2844b7c9 Update to 1.5.0 2019-11-10 10:57:18 -06:00
Calvin Rose 75d21d9f45 Update CHANGELOG.md 2019-11-09 10:05:29 -06:00
Calvin Rose aee1687215 Add RNG functionality to the math/ module.
The new RNG wraps up state for random number generation, so
one can have many rngs and even marshal and unmarshal them.
Adds math/rng, math/rng-uniform, and math/rng-int.

Also introduce `in` and change semantics for
indexing out of range. This commit enforces stricter
invariants on keys when indexing via a function call
on the data structure, or the new `in` function.

The `get` function is now more lax about keys, and will
not throw an error when a bad key is used for a data structure, instead
returning the default value.
2019-11-08 17:40:04 -06:00
Calvin Rose 6ceaf9d28d Add with-vars
This helps for temporarily setting vars in a safe
manner that is guaranteed not to leave vars in a bad state
(assuming that a fiber does not emit debug or use signal and
 is never resumed).
2019-10-31 21:58:43 -05:00
Calvin Rose cf19cd5292 Add the quickbin command to jpm.
This is useful for making one off executable scripts
without needing to set up a project.janet file.
2019-10-29 20:33:18 -05:00
Calvin Rose 03824dd9f7 Update CHANGELOG.md 2019-10-29 19:41:48 -05:00
Calvin Rose 427b2638e0 Fix startup environment. 2019-10-29 18:47:54 -05:00
Calvin Rose b2263ed5b5 Update CHANGELOG.md 2019-10-29 17:52:41 -05:00
Calvin Rose 4149df1fca Update CHANGELOG.md 2019-10-19 10:35:56 -05:00
Calvin Rose 8dd322c0be Fix webclient. 2019-10-14 20:55:04 -05:00
Calvin Rose 7fd0748c19 Update to 1.4.0 2019-10-14 20:35:13 -05:00
Calvin Rose d47b5f8c6a Update CHANGELOG.md 2019-10-11 00:11:19 -05:00
Calvin Rose 8ee54e887f Update changelog. 2019-10-10 19:06:16 -05:00
Calvin Rose e9f3dc7d5c Add varfn. 2019-10-03 20:20:42 -05:00
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 bcb45157a8 Update CHANGELOG.md 2019-09-24 21:25:21 -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 9d020c3ec5 Update CHANGELOG.md 2019-09-22 18:00:53 -05:00
Calvin Rose c447e7b3a5 Update changelog. 2019-09-22 15:15:28 -05: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 8e427317cd Add mean function to boot.janet
Update changelog.
2019-09-19 21:21:14 -05: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 37a943d9b5 1.3.0 Release 2019-09-05 19:33:08 -05:00