Calvin Rose
6e3355d7f2
Merge pull request #723 from sogaiu/new-style-core-fn-decl-for-tuple
...
Update tuple.c with new style core function declarations.
2021-07-25 22:41:42 -05:00
Calvin Rose
97907906c5
Merge pull request #722 from sogaiu/new-style-core-fn-decl-for-compile
...
Update compile.c with new style core function declarations.
2021-07-25 22:41:11 -05:00
Calvin Rose
eb84200f28
Fix linux issues with epoll on normal files.
...
We use the selfpipe trick if epoll fails with EPERM when trying to
register a file descriptor.
2021-07-25 21:47:52 -05:00
sogaiu
caaa26e153
Update tuple.c with new style core function declarations.
2021-07-26 11:33:46 +09:00
Calvin Rose
030dd747e9
Merge branch 'master' of github.com:janet-lang/janet
2021-07-25 20:21:59 -05:00
sogaiu
dccb98bb92
Update compile.c with new style core function declarations.
2021-07-26 09:07:53 +09:00
John Gabriele
e356b7141c
Update boot.janet
2021-07-25 17:26:31 -04:00
bakpakin
4cae7e6d5d
When building amalgamated build on windows, patch source-map.
...
We don't want any backslahes cropping up in the offical distribution of
janet.c.
2021-07-25 15:53:38 -05:00
bakpakin
cc07b4a89a
Merge branch 'master' of github.com:janet-lang/janet
2021-07-25 14:54:45 -05:00
bakpakin
7e8154e648
Update peg.c with new style core function declarations.
2021-07-25 14:54:25 -05:00
Calvin Rose
dfee997e45
Merge pull request #718 from uvtc/patch-1
...
Add some clarifying backticks to docs
2021-07-25 14:10:44 -05:00
Calvin Rose
f6b7cb9c49
Merge pull request #719 from uvtc/patch-2
...
Clarify docs on take and drop functions
2021-07-25 14:10:01 -05:00
bakpakin
7fba44ccce
Add macro mechanism for defining C source information for functions.
...
This wil let us track source code for C functions more easily.
2021-07-25 13:03:01 -05:00
bakpakin
6f1695ecd4
Add utitities for interrupting the event loop.
...
janet_loop1_interrupt makes the event loop compatible
with safe interruptions for custom scheduling. Does this by exposing
custom events on the event loop. A custom event schedules a function pointer
to run in a way that can interrupt
epoll_wait/poll/GetQueuedCompletionStatus.
2021-07-25 09:08:46 -05:00
John Gabriele
76acbf9bb6
Clarify docs on take and drop functions
...
Pass in indexed and bytes, return tuples and strings, respectively.
2021-07-24 18:44:49 -04:00
John Gabriele
2769a62bb3
Add some clarifying backticks to docs
2021-07-24 16:58:21 -04:00
bakpakin
160dd830a0
Add janet_interpreter_interrupt for custom scheduling.
...
This would allow an embedder to suspend the current Janet fiber
via an external event like a signal, other thread, or really anything.
This is a useful primitive for custom schedulers that would call
janet_interpreter_interupt periodically (say, in an interval with SIG_ALRM),
do some work, and then use janet_continue on the janet_root_fiber, or
for embedding into other soft-realtime applications like a game. To say,
only allow about 5ms per frame of interpreter time.
2021-07-24 15:14:37 -05:00
bakpakin
aafc595e3a
Fix typo.
2021-07-24 12:47:51 -05:00
bakpakin
202783c67a
Add :d switch to os/spawn.
...
This allows for starting processes that can be turned into zombies.
2021-07-24 11:55:04 -05:00
Calvin Rose
f11b2c5a0d
Merge pull request #717 from yumaikas/fix-os-open-write-windows
...
Fix os open write windows, and add TerminateProcess calls
2021-07-24 07:52:40 -05:00
Andrew Owen
e8a86013da
Add fixes for :write on filestreams that come from os/open
2021-07-24 02:30:00 -06:00
Calvin Rose
a89c377c92
Add the fiber-fn
macro which slightly generalizes coro
.
2021-07-22 17:59:01 -05:00
Calvin Rose
54d73f6722
Make epoll the default on Linux for event loop implementations.
2021-07-21 21:46:26 -05:00
Calvin Rose
2e58f5f0d4
Add table/clear.
2021-07-21 19:58:42 -05:00
Calvin Rose
e7ea39f410
Prevent possible bad garbage collection when finalizing streams.
...
The GC finalizer for streams would sometimes try and use other objects
after they had already been freed.
2021-07-20 19:42:35 -05:00
Calvin Rose
a125218d03
Move some defines.
2021-07-20 18:24:56 -05:00
Calvin Rose
55b8563c08
Add janet_loop_fiber C function to run a fiber to completion from C.
...
This is mainly meant for use as the entry point to a C wrapper for a
janet program. This maeans the programmer doesn't need to use an ifdef
to handle if the event loop is enabled.
2021-07-18 09:39:37 -05:00
Calvin Rose
aea1f59f6e
Add option to build janet without thread library.
2021-07-17 15:13:28 -05:00
Calvin Rose
ab27b789e4
Fix minimal build.
2021-07-17 13:10:55 -05:00
Calvin Rose
3a1a59f1eb
Address windows build issue.
2021-07-16 21:10:02 -05:00
Calvin Rose
c20a76cddb
Update CHANGELOG and indicate next release will be 1.17.0
2021-07-16 21:05:42 -05:00
Calvin Rose
1ef6db16ed
Add janet_vm_save and janet_vm_load.
...
This lets a user multiplex multiple Janet VMs on a single
thread or process if they are willing to implement context switching
themselves.
2021-07-16 20:59:03 -05:00
Calvin Rose
dc414f1239
Merge pull request #713 from yumaikas/fix-process-terminate-windows
...
Add TerminateProcess to janet_proc_gc and os_proc_kill on Windows
2021-07-11 09:30:07 -04:00
Andrew Owen
12cfda1f58
Add TerminateProcess to janet_proc_gc and os_proc_kill on Windows
2021-07-11 04:05:11 -06:00
Andrew Owen
96b4e71704
Add TerminateProcess to janet_proc_gc and os_proc_kill on Windows
2021-07-11 03:56:08 -06:00
sogaiu
edb415d1a8
Tweak function name
2021-07-11 12:27:15 +09:00
Calvin Rose
72c1d1c484
Fix some error condiditions to have the right number of arguments.
2021-07-10 14:09:59 -04:00
Calvin Rose
04a248dc37
Update CHANGELOG.md
2021-06-27 10:54:03 -05:00
Calvin Rose
5defc3b914
Fix bug with ev/go when passing supervisor and value.
...
value was incorrectly set to nil in these cases. Also
fix some typos in core docstrings.
2021-06-25 18:58:19 -05:00
Calvin Rose
04ca945ecf
Address #711 - don't persist (dyn :exit)
2021-06-24 14:51:08 -05:00
Calvin Rose
87f8fe14dd
Prepare for 1.16.1 release.
2021-06-09 19:08:24 -05:00
Calvin Rose
2eadb21eb7
Update changelog.
2021-05-31 16:51:53 -05:00
Calvin Rose
69afa2a7a3
Merge branch 'master' into fix-shadow
2021-05-31 16:05:29 -05:00
Josef Pospíšil
a4325372e2
Rename level const to not to shadow line in eval1
2021-05-31 21:51:31 +02:00
Calvin Rose
4b96b73858
Add -w and -x flags to janet for linting.
2021-05-31 14:36:25 -05:00
Calvin Rose
bbae43f259
Update copyright dates.
2021-05-31 13:46:02 -05:00
Calvin Rose
ab974c409d
Remove externeous typedarray defines in janet.h
2021-05-31 09:23:45 -05:00
Calvin Rose
60214dc659
Update for windows compiler warning.
2021-05-30 16:42:58 -05:00
Calvin Rose
b990d77f16
Prepare for 1.16.0 release.
2021-05-30 12:15:56 -05:00
Calvin Rose
d204e06e11
Use lint information in run-context.
2021-05-30 10:33:46 -05:00
Calvin Rose
f6b37dbc77
Merge branch 'master' into linting
2021-05-30 09:34:32 -05:00
Calvin Rose
1f4f69a5b6
Fix windows syntax issue.
2021-05-29 20:40:26 -05:00
Calvin Rose
84f82f5465
Remove code delimtiers from defn and defmacro.
2021-05-29 20:37:30 -05:00
Calvin Rose
c911f7c47e
Address #694 - Update doc-format with more features.
...
Also allows having doc-format print in color with
(dyn :doc-color).
2021-05-29 20:34:22 -05:00
Calvin Rose
33c000daea
Expose linting array to macros.
...
This has a lot of possible uses, and would let users add a macro-based
type system on top of Janet that would integrate with the usual linting
and warning system.
2021-05-28 15:15:34 -05:00
Calvin Rose
7ff204ec44
Work on system for adding compiler warnings.
...
This is the beginning of a system for compiler warnings. This includes
linting, deprecation notices, and other compiler warnings that are best
detected by the `compile` function and don't require the partial
evalutaion of the flychecker.
2021-05-28 15:12:05 -05:00
Calvin Rose
7c757ef3bf
Make jpm configurable for environments like MinGW.
2021-05-26 10:07:11 -05:00
Calvin Rose
2db7945d6f
Fix peg bug when there is no default grammar set.
...
This could result in a segfault when we attempt to
read from a NULL pointer.
2021-05-20 21:57:22 -05:00
Calvin Rose
81186bf262
Merge branch 'master' of github.com:janet-lang/janet
2021-05-19 18:43:50 -05:00
Calvin Rose
eeef5b0896
Add as-macro
and module/add-syspath
2021-05-19 18:18:00 -05:00
sogaiu
e5a2df93ab
Make doc work for special forms
2021-05-07 08:47:33 +09:00
Calvin Rose
49f66a936c
Merge commit 'f4c9064b79d5b32fd74e5ddf25266356c22dd53b'
2021-04-29 15:58:41 -05:00
Calvin Rose
cbe92bb985
Merge branch 'master' of github.com:janet-lang/janet
2021-04-29 13:13:55 -05:00
Calvin Rose
1baab5eb61
Remove typed arrays from the core.
...
Typed arrays will instead live in an external jpm nodule.
Also, changes have been made to `jpm` to allow other natives to use the
typedarray headers.
2021-04-29 12:33:49 -05:00
Calvin Rose
8fc8974b60
Add from-pairs
to core. #683
...
This always creates a table, use `table/to-struct` to
create a struct.
2021-04-29 12:06:24 -05:00
Chris Jones
29797b9eb0
Use _NSGetEnviron() on Apple
2021-04-27 11:54:24 +01:00
Calvin Rose
e181ee586b
Prepare for 1.15.5 release.
2021-04-25 14:00:16 -05:00
Calvin Rose
7b7d742bec
Add declare-headers to jpm.
2021-04-25 13:38:24 -05:00
Calvin Rose
612eaff9ff
Fix #682 - Don't hardcode size of sun_path.
2021-04-15 14:57:40 -05:00
Calvin Rose
cde4a505cf
Fix #673 - check typed array index bounds as well as buffer count.
2021-03-30 21:14:42 -05:00
Calvin Rose
3a3003029a
Merge branch 'master' of github.com:janet-lang/janet
2021-03-26 15:44:43 -05:00
Calvin Rose
7c7ff802fa
Add net/shutdown to allow better networking with streams.
2021-03-26 15:36:25 -05:00
Michael Camilleri
ec2d7bf349
Support adding arbitrary metadata to bindings
2021-03-24 09:38:12 +09:00
Andrew Chambers
f4c9064b79
Add config support for custom allocators.
2021-03-23 23:00:48 +13:00
Calvin Rose
100a82feb2
Version bump (development version).
2021-03-19 15:41:34 -05:00
Calvin Rose
90e5828d5d
Update printing when entering debugger.
2021-03-19 15:38:46 -05:00
Calvin Rose
b3e80308d4
Change inheritance rule.
2021-03-19 15:18:19 -05:00
Calvin Rose
3c63a48df4
( #667 ) Add constant inlining for tuples and structs.
...
Structs and tuples composed entirely out of constant values
will themselves be considered constant values during compilation.
This reduces the amount of generated code.
2021-03-16 20:52:55 -05:00
Calvin Rose
a467b34de4
Prepare for 1.15.4 release.
2021-03-16 20:12:33 -05:00
Calvin Rose
e70f64e23d
Sort keys initial.
2021-03-13 19:17:07 -06:00
Calvin Rose
6f605f8141
Update pretty printing default depth.
2021-03-13 17:43:19 -06:00
John Gabriele
0f05aec563
Update os.c
...
Doc typo
2021-03-09 14:39:09 -05:00
Calvin Rose
c9097623d6
Add group-by and partition-by to the core.
...
Semantics are mostly emulated from Clojure.
2021-03-04 19:34:36 -06:00
Calvin Rose
6392b37c47
Merge branch 'master' of github.com:janet-lang/janet
2021-02-28 13:05:05 -06:00
Calvin Rose
4fcc8075d4
Release 1.15.3
2021-02-28 13:04:24 -06:00
Michael Camilleri
1fea5f8fe7
Fix call to match in run-context
2021-02-28 14:23:17 +09:00
Calvin Rose
d6ea1989cc
Merge branch 'master' of github.com:janet-lang/janet
2021-02-26 17:29:25 -06:00
Calvin Rose
96513665d6
Address #641 - add undef combinator.
...
The (undef rule :tag) combinator lets a user "scope" tagged captures.
After the rule has matched, all captures with tag :tag can no longer be
refered to by their tag. However, such captures from outside
rule are kept as is. If no tag is given, all tagged captures from rule
are unreferenced. Note that this doesn't `drop` the captures, merely
removes their association with the tag. This means subsequent calls to
`backref` and `backmatch` will no longer "see" these tagged captures.
2021-02-26 17:25:09 -06:00
Calvin Rose
b795d13f61
Merge pull request #642 from pyrmont/feature.run-context-location
...
Allow source location in run-context to be updated
2021-02-26 16:36:03 -06:00
John Gabriele
be7dab4d17
Update boot.janet
2021-02-23 22:30:42 -05:00
John Gabriele
0e44ce5cba
Update boot.janet
2021-02-23 22:26:53 -05:00
John Gabriele
1f8c2781dd
sort
doc
...
Clarify doc for `sort` and `sorted`. Also in `sort`, changed arg name.
2021-02-23 22:24:59 -05:00
Michael Camilleri
f381a9c773
Check that new source location is a string
2021-02-22 12:50:44 +09:00
Michael Camilleri
855a9a01fc
Allow source location in run-context to be updated
2021-02-22 12:38:56 +09:00
Calvin Rose
c68264802a
Fix #638 - update fiber status in certain cases.
...
This fixes a regression from changes to janet_try. In some cases, we
would not update the status of a fiber when signaling, which left the
fiber's status as whatever it had previously. This could lead to strange
control flow issues.
2021-02-20 10:55:16 -06:00
Calvin Rose
742469a8bc
Address #640 .
...
Allow for a zero length match at the end of a string when using the
to or thru combinators.
2021-02-19 16:10:03 -06:00
Calvin Rose
92928d5c4f
Update definition of or
.
2021-02-16 17:00:27 -06:00
Leah Neukirchen
c16a9d8463
Fix or with zero arguments.
...
The value is nil to be consistent for and/or and all/some.
Also add some tests for and/or.
2021-02-16 19:59:03 +01:00
Calvin Rose
f1819c916a
Fix build error for 1.15.2
2021-02-15 10:27:19 -06:00
Calvin Rose
050d7c12a3
Prepare for 1.15.1 release.
2021-02-15 10:19:24 -06:00
Calvin Rose
7e2c433abc
Fix #636
2021-02-14 14:34:52 -06:00
Calvin Rose
6713b23a65
Change behavior of empty env table passed to os/execute on windows.
2021-02-14 11:22:20 -06:00
Calvin Rose
60078e7950
Change os/execute implementation for windows.
2021-02-14 11:04:59 -06:00
Calvin Rose
771b0d0ab1
Version bump.
2021-02-09 20:32:09 -06:00
sogaiu
60e2992158
Tweak spec_readint
2021-02-10 08:33:46 +09:00
Calvin Rose
bdf14170a4
Get ready for 1.15.0 release.
2021-02-08 18:10:46 -06:00
Calvin Rose
10dcbc639a
Immediate instuctions will now call :compare method.
2021-02-08 11:53:25 -06:00
Calvin Rose
6a9bb0f4e4
Define immediate comparison instructions for non-integers.
...
Previous, the instructions were defined only for values that
fit into 32 bit integers for legacy reasons.
2021-02-08 11:41:48 -06:00
Calvin Rose
c941e5a8f4
Merge pull request #628 from yumaikas/master
...
Switch out `by` to `before?` in sort functions.
2021-02-05 18:17:52 -06:00
Calvin Rose
be91414c7a
Improve error message from janet_call.
...
List expected arity in error messages.
2021-02-05 18:01:52 -06:00
Calvin Rose
6839b603c8
x86 32 bit on windows.
2021-02-04 23:31:04 -06:00
Andrew Owen
926b68d62e
Switch out by
to before?
in sort functions.
...
Makes docstrings easier to read, and reduces confusion with sorted-by
and sort-by.
2021-02-04 22:28:46 -07:00
Calvin Rose
d374e90033
Update sort documentation.
2021-02-04 20:11:24 -06:00
Calvin Rose
b168b0758a
Fix #625 - no fancy mixing in number hasing
...
Just hash upper 32 bits with lower 32 bits. Trying to get too fancy
was causing slowdowns in very trivial cases. Assuming that all
combinations of 64 bits in a double are equally likely (suspect but
probably not that incorrect), the obvious method of xoring the top
32 bits with the lower 32 bits gives a uniform distribution.
2021-02-04 19:37:11 -06:00
sogaiu
1c158bd4ff
Tweak module/add-paths docstring
2021-02-03 21:11:16 +09:00
Calvin Rose
ff24143f54
Merge pull request #620 from sogaiu/marshal-doc
...
Tweak marshal docstring
2021-02-02 21:29:54 -06:00
Calvin Rose
dd117e81c2
Fix parser/insert.
...
We need to add the tuple wrapping code there as well.
2021-02-02 18:55:24 -06:00
sogaiu
f4744a18c6
Tweak marshal docstring
2021-02-02 15:00:57 +09:00
Calvin Rose
259d5fabd9
Update Makefile and build_win for better builds.
...
Use build/c/janet.c in both to prevent accidental inclusion
of build/janet.h (which may be stale) instead of the source headers.
2021-01-31 09:59:53 -06:00
Calvin Rose
d122a75efd
Cleanup boot.janet to be more like normal source code.
...
Don't use `undef`, just use private defines.
2021-01-31 09:08:39 -06:00
Calvin Rose
c9ea3ac304
Address #618 - clarify file/open docs.
2021-01-31 08:39:57 -06:00
Calvin Rose
c63fe6ef8a
Make flycheck follow GNU standards for errors.
2021-01-30 12:51:38 -06:00
Calvin Rose
72ec89dfe9
Change output format for line+col.
2021-01-30 11:33:15 -06:00
Calvin Rose
04805d106e
Simpler overflow check.
2021-01-29 20:11:38 -06:00
Calvin Rose
9aed578466
Address #616 Buffer extra overflow bug.
...
We should have a normal error instead of undefined behavior, wrap
around, or wait for realloc to fail.
2021-01-29 18:32:54 -06:00
Calvin Rose
af75bf3b64
Update for sending streams to new threads.
2021-01-24 16:48:46 -06:00
Calvin Rose
f22472a644
Begin work on allowing small binaries.
2021-01-23 17:08:11 -06:00
Calvin Rose
5cac8bcf9f
Prepare for patch release.
2021-01-23 14:48:36 -06:00
Calvin Rose
a2801fbef9
Fix #610 - POLLHUP should cause us to continue reading.
2021-01-23 14:26:24 -06:00
Calvin Rose
0b14e913da
Merge branch 'master' of github.com:janet-lang/janet
2021-01-23 13:54:36 -06:00
Calvin Rose
85155bb2b4
Reference #478 Update peg/compile to use dyn for default grammar.
2021-01-23 13:54:02 -06:00
Calvin Rose
dd8de1e9ac
Merge pull request #609 from yumaikas/master
...
Change tracev to upscope instead of using let
2021-01-22 19:02:27 -06:00
Calvin Rose
c909835b0a
Update CHANGELOG.
2021-01-22 12:55:38 -06:00
Calvin Rose
a18aafedfd
Merge branch 'master' of github.com:janet-lang/janet
2021-01-22 12:53:28 -06:00
Calvin Rose
317ab6df6b
Add ev/thread and ev/do-thread.
...
- Also fix setting supervisor with net/accept-loop.
2021-01-22 12:52:45 -06:00
Andrew Owen
1fcaffe6b0
Change tracev to upscope, add test
2021-01-21 23:40:28 -07:00
Sunil Nimmagadda
381128364e
Replace malloc + memset with calloc.
...
Fixes an overflow warning from gcc with '-Wstringop-overflow' on
NetBSD-current.
2021-01-21 19:35:57 +05:30
Calvin Rose
0acf167e84
Merge pull request #602 from pyrmont/feature.module-docstrings
...
Display module-level docstrings with (doc)
2021-01-20 22:11:38 -06:00
Josef Pospíšil
251486e4aa
Fix ev/call doc
2021-01-20 20:31:41 +01:00
Michael Camilleri
c6467be60d
Conform display of path with existing display of source map info
2021-01-20 10:47:55 +09:00
Michael Camilleri
4dd512ad28
Use print-module-entry function to display docstring
2021-01-20 10:16:59 +09:00
Michael Camilleri
28076b9385
Display module-level docstrings with (doc)
2021-01-20 10:01:31 +09:00
Calvin Rose
49dcc816ae
Update os/shell to be non-blocking as well.
2021-01-18 16:44:22 -06:00
Calvin Rose
fa61c70103
Release 1.14.1
2021-01-18 11:51:42 -06:00
Calvin Rose
5ee6dbcdf4
Prepare for 1.14.1 release.
2021-01-18 11:43:53 -06:00
Calvin Rose
634219da2c
Fix windows swallowing IOCP events in many cases.
...
This fixes windows hanging on "failed" IO operations.
2021-01-17 20:41:59 -06:00
Calvin Rose
fbe3849b4b
Revert change to propagate op code.
2021-01-17 15:33:42 -06:00
Calvin Rose
bd2e335063
Allow 1 argument call of debug/stacktrace
...
Since fibers now track the last value signaled.
2021-01-17 13:55:40 -06:00
Calvin Rose
96262e7d87
Fix integer limit docs.
2021-01-17 13:44:53 -06:00
Calvin Rose
c5da87b860
Fix broken doc format.
...
Many assumptions in the parsing code that could cause infinite
loops, as well as assuming things were non-nil.
2021-01-17 11:36:48 -06:00