Calvin Rose
7ae7984f3c
Allow yielding from root fiber to ev loop.
2021-01-09 23:35:34 -06:00
Calvin Rose
8286b33c52
Add event-chan argument to ev/go.
...
The event-chan is the final piece of the puzzle for fibers, and
will be pushed to when a fiber yields to the event loop.
2021-01-09 23:33:23 -06:00
Calvin Rose
475775cc9d
Add a "new_channel" for root fibers.
...
When new fibers are scheduled on the event loop, this new_channel
receives the newly created fibers. This lets a fiber track which fibers
have been added and let's a user implement a supervisor.
Fix formatting.
2021-01-09 18:33:40 -06:00
Calvin Rose
11067d7a56
Update module and rem operator for int types.
2021-01-09 14:47:43 -06:00
Calvin Rose
5b05da65f0
Allow wrap around on u64.
...
This lets some math work as expected.
2021-01-09 12:43:33 -06:00
Calvin Rose
444e630783
Fix formatting.
2021-01-09 10:14:20 -06:00
Calvin Rose
8951b8de7a
Inherit the supervisor channel from the root fiber if not given.
2021-01-08 16:32:23 -06:00
Calvin Rose
2abb87eb63
Add space in docstring.
2021-01-07 18:57:13 -06:00
Calvin Rose
32e8ac912d
Merge branch 'master' of github.com:janet-lang/janet
2021-01-07 18:08:08 -06:00
Calvin Rose
e403fb4652
Do not try and preload imports that are relative.
2021-01-07 18:07:47 -06:00
Calvin Rose
daa37c22f5
Merge pull request #551 from pepe/remove-redundant-do
...
Remove redundant do
2021-01-07 10:38:21 -06:00
Josef Pospíšil
5a2a134c95
Remove redundant do
2021-01-07 14:38:58 +01:00
Calvin Rose
b9acb6dfa5
Update CHANGELOG.md
2021-01-06 23:25:00 -06:00
Calvin Rose
4e7ad3c7ce
Add initial implementation for supervisor channels.
...
Supervisor channels are a simple concept to more efficiently
enable dynamic, structure concurrency. When a top-level fiber
completes (or errors), it will push itself to it's supervisor
channel if it has one (instead of printing a stacktrace). This
let's another fiber poll a channel and "supervise" a set of fibers.
2021-01-06 23:19:22 -06:00
Calvin Rose
ee0e1a2342
Remove jpm.bat from windows dist.
...
It is still present in the MSI.
2021-01-06 19:36:37 -06:00
Calvin Rose
f206b476d1
Fix #550 - add varfn to safe forms for flycheck.
2021-01-06 17:31:08 -06:00
Calvin Rose
dd2595c53f
Merge branch 'master' of github.com:janet-lang/janet
2021-01-06 17:27:50 -06:00
Calvin Rose
545df28d71
Add flycheck function to core.
...
Also make flychecking work with stdin out of the box.
2021-01-06 17:27:17 -06:00
Calvin Rose
16f80b78cf
Merge pull request #546 from pepe/doc-thread-new-loop
...
Update doc for thread/new and remove ws in loop's
2021-01-05 20:31:46 -06:00
Calvin Rose
147bcce01b
Merge pull request #549 from pyrmont/docs.string-find-all-typo
...
Fix typos in string/find-all documentation
2021-01-05 20:31:12 -06:00
Calvin Rose
f5877ac6d1
Revert makefile.
2021-01-05 20:29:50 -06:00
Calvin Rose
adc41e31f4
Address #547 - don't drop references.
...
Keep a separate stack for tagged references. May cause pegs to
use more memory but makes the backref and backmatch features much more
powerful.
Also disables the second stack if backref and backmatch are not used in the peg.
2021-01-05 20:27:15 -06:00
Michael Camilleri
2e555a930f
Fix typos in string/find-all documentation
2021-01-06 10:14:49 +09:00
Calvin Rose
bcba0c0279
Fix #548 - string/split bug.
...
Also update docstrings for string/find. The 'skipping'
behavior that was documented only applies to to string/replace-all.
2021-01-05 18:54:51 -06:00
Josef Pospíšil
c7f382add6
Update doc for thread/new and remove ws in loop's
2021-01-04 18:29:00 +01:00
Calvin Rose
665b1e68d5
Pluralize arity compile warning.
2021-01-03 20:15:51 -06:00
Calvin Rose
2ca9300bf7
Add sort tests.
2021-01-03 16:45:37 -06:00
Calvin Rose
81f62b246c
Merge pull request #545 from felixr/master
...
Revert my buggy hybrid sort
2021-01-03 16:39:23 -06:00
Calvin Rose
87badc71d2
Remove :generate verb from loop.
...
Instead, one case use `:in` as with otehr data structures.
2021-01-03 16:38:38 -06:00
Calvin Rose
e5242c67ff
Update changelog and documentation.
2021-01-03 16:30:43 -06:00
Calvin Rose
4355420994
Remove function eachy
.
...
Instead use `each`.
2021-01-03 16:19:23 -06:00
Calvin Rose
c357af02c2
Allow iterating over fibers with each and similar.
2021-01-03 16:17:36 -06:00
Felix Riedel
19576effbe
Revert "Tweak sort: use insertion sort for small arrays"
...
This reverts commit 0ea77cabfb
.
2021-01-03 20:09:50 +00:00
Calvin Rose
ecc6eb7497
Don't fail jpm if os/realpath fails.
2021-01-03 13:09:41 -06:00
Calvin Rose
d0ac318980
Don't print to stderr in Makefile to detect version. Fix #544
2021-01-03 12:59:16 -06:00
Calvin Rose
7b030fe70d
Fix some return issues.
2021-01-03 11:54:31 -06:00
Calvin Rose
115556fcf2
Merge branch 'ev_execute'
2021-01-03 11:48:00 -06:00
Calvin Rose
9760cf1f4e
Fix MSVC warning.
2021-01-03 11:47:29 -06:00
Calvin Rose
47bb7fd21b
Begin implementing async subproccesses for windows.
2021-01-03 11:21:44 -06:00
Calvin Rose
1c7ed8ca48
Use PostQueuedCompletionStatus for threaded calls on windows.
...
Ore efficient than using a self pipe.
2021-01-03 11:08:12 -06:00
Calvin Rose
6b268c5df4
find-index
now takes optional default.
2021-01-03 09:33:52 -06:00
Calvin Rose
62f783f1dc
Merge branch 'master' of github.com:janet-lang/janet
2021-01-03 09:26:31 -06:00
Calvin Rose
61c65f3df1
Fix valgrind warning.
2020-12-31 16:30:54 -06:00
Calvin Rose
05166b3673
Fix proc getter bug.
2020-12-31 16:23:20 -06:00
Calvin Rose
0a1c93b869
Add ev api for making threaded calls.
...
Easy way to make arbitrary functions in C async.
2020-12-31 16:12:42 -06:00
Calvin Rose
788f91a36f
Remove unneeded book keeping for sub processes.
...
Since we are not using signals we no longer need some bookkeeping.
2020-12-31 11:52:12 -06:00
Calvin Rose
c831ecf5d2
Working implementation of process waiting with threads.
...
Does not require all sorts of signal handling code
that is not thread-safe and can "steal processes".
However, there is a much simpler way to add this functionality
by creating a new stream and thread for each subprocess when it is
waited on. This is perhaps _slightly_ less efficient but oh so much
simpler, since we can reuse all of our concepts from streams and there
is no need to implement a whole system around the selfpipe.
2020-12-31 11:22:18 -06:00
Calvin Rose
9e42ee153c
Merge branch 'master' into HEAD
2020-12-30 12:19:13 -06:00
Calvin Rose
d457aa5951
Deprecate file/popen.
...
os/spawn is the prefered way of creating a subprocess and
communicating with it.
2020-12-30 10:22:45 -06:00
Calvin Rose
ab37ee6ebb
Add :all option to ev/read.
...
Brings ev/read more in line with file/read.
2020-12-29 20:37:59 -06:00