Simon Forman
3c276c0913
Reverse tokens instead of temp lists.
...
This way we can build the tuples representing the Thun lists as we go
and I bet it's more efficient, eh?
2024-04-11 11:01:14 -07:00
sforman
4821ea0ee2
Take the right number of things off of the stack.
2023-10-08 13:08:34 -07:00
sforman
6674fdffb6
Better exceptions.
2023-08-28 20:46:19 -07:00
sforman
60bddcc70e
cleanup
2023-08-13 08:49:20 -07:00
sforman
f15eef1c56
minor edits
2023-07-31 12:08:39 -07:00
sforman
373666bf39
Name Boolean ops.
...
So they don't overshadow the defs for the short-circuiting combinators.
2023-07-30 15:41:58 -07:00
sforman
590a5b207c
In Elm.
2023-07-28 14:18:12 -07:00
sforman
23504f6ede
Use Python as SHELL in Makefile.
...
It's a simple task, but I'm not up on my CLI tools, so I went with
Python instead of sh. The split command doesn't have '-p' switch on
Ubuntu. (I'm using Ubuntu on this laptop because it can correctly
configure the WiFi and the laptop has no ethernet port.)
2023-07-27 10:32:45 -07:00
sforman
08262ac861
minor cleanup
2023-07-27 09:55:02 -07:00
sforman
ced691279a
Working on README, put defs in joy.py
...
I'm on an Ubuntu system right now and the split command doesn't have the
'-p' switch. :( I wasn't happy with that janky solution anyway.
2023-07-25 21:13:35 -07:00
sforman
975924f632
minor edits
2023-07-25 20:03:11 -07:00
sforman
0fa617766f
Make it compatible with Xerblin.
2023-07-24 11:29:06 -07:00
Simon Forman
1256fb47d8
A start on styling notebooks.
...
I'd like the website to have some consistency.
2023-02-15 13:43:22 -08:00
Simon Forman
610de03e0b
Minor updates to README file.
...
Removed setup.py until Python folks stabilize packaging and
distribution. Just put the joy script in your PATH, eh?
2023-02-15 10:05:25 -08:00
Simon Forman
3d78f831cb
Emit errors on stderr.
2023-02-14 18:48:49 -08:00
Simon Forman
eca5e41cc9
Conform Python error messages.
2023-02-14 17:40:49 -08:00
Simon Forman
8c36d8316e
Hack to deal with trailing underscores.
2023-02-14 12:08:32 -08:00
Simon Forman
2700ab8a7f
Aliases for builtins in Python Joy.
2023-02-14 10:19:03 -08:00
Simon Forman
178e58f8bd
Load embedded defs.txt, remove ≡ stuff.
...
I like that ≡ but I also like consistency.
2023-02-14 10:07:26 -08:00
Simon Forman
25c48e059b
Splice defs.txt into joy.py to make "joy" script.
2023-02-14 09:52:01 -08:00
Simon Forman
ae77bbda24
Move all the bigints code into own dir.
2023-02-14 08:48:08 -08:00
Simon Forman
5bccaff9f2
Conform!
...
cons and loop check type before number.
Don't print '<- top'.
2023-02-12 18:45:56 -08:00
Simon Forman
aacd9764fe
Make Python and C interpreters conform.
...
The Python one still checks number before type with get_n_items().
I can live with that for now.
2023-02-12 16:17:27 -08:00
Simon Forman
109cddae12
Readline support would be nice.
2022-10-17 17:51:12 -07:00
Simon Forman
0b4b79f884
Not quite as smooth as I'd hoped.
2022-10-14 20:36:50 -07:00
Simon Forman
6ade65ef0c
Subtraction seems to work now.
2022-10-14 17:52:31 -07:00
Simon Forman
e7f4a021fe
Misc stuff.
2022-10-10 22:28:50 -07:00
Simon Forman
2cf2b56751
Dang it...
2022-10-10 18:39:35 -07:00
Simon Forman
cdec813b24
I had to model it in Python
...
before writing it in OCaml.
2022-09-28 18:21:13 -07:00
Simon Forman
c591bf4138
branch, dip, i, loop
...
The core combinators (except fork).
2022-09-24 20:45:06 -07:00
Simon Forman
92338037e7
Wait for both results together.
...
If one causes an error before the other is finished SIGKILL the other
job. (I do not know if this will kill the sub-tasks if any. The Python
docs say that with terminate() "descendant processes of the process will
not be terminated – they will simply become orphaned." but it doesn't
say whether that's true with kill().
2022-09-22 13:20:30 -07:00
Simon Forman
0904bad81b
Capture and fwd exceptions in subforks.
...
(Should there be only one subtask? Do the other quote in the main
proc?)
2022-09-22 11:41:16 -07:00
Simon Forman
50293908d9
Let's play with more cores.
2022-09-22 09:13:11 -07:00
Simon Forman
d080cd20c7
Let simple joy be joy.
...
Still to do: clear away the rest of the old cruft.
2022-09-20 11:12:59 -07:00
Simon Forman
2367191918
Remove cruft.
2022-09-20 11:12:28 -07:00
Simon Forman
a6ff9857d2
Add trace word back in.
...
Remove pretty_print module.
Still to do: update Nim implementation with a trace function. ;)
2022-09-20 10:19:45 -07:00
Simon Forman
36a9967e6c
Fix typo in hyperlink in README.
2022-09-19 19:43:34 -07:00
Simon Forman
fab172daf4
Minor cleanup.
2022-09-19 13:25:09 -07:00
Simon Forman
b2a1f40155
Fixed bug in appN
...
while updating some Jupyter notebooks with the Joypy kernel.
2022-09-16 20:49:46 -07:00
Simon Forman
6b07d7d30b
Minor cleanup
2022-09-14 09:46:31 -07:00
Simon Forman
aad2da35cf
divmod
...
We don't need floor if we have only ints.
Id is too easy as a definition.
divmod is cool.
2022-09-12 16:38:14 -07:00
Simon Forman
1e3b2f76bb
step, times
2022-09-12 16:07:21 -07:00
Simon Forman
8778f12b68
dipd, dipdd, cmp
2022-09-12 15:17:32 -07:00
Simon Forman
f640f437f1
cond
2022-09-12 13:50:40 -07:00
Simon Forman
a2cabe2189
Bringing over some of the "upgrades". 2
2022-09-11 14:07:55 -07:00
Simon Forman
4bd32f2c0b
Bringing over some of the "upgrades".
2022-09-11 13:57:19 -07:00
Simon Forman
cb553a1a65
id func
2022-09-11 11:46:10 -07:00
Simon Forman
f7315291a9
clearing out cruft
2022-09-11 11:45:46 -07:00
Simon Forman
a2cf184301
minor cleanup
2022-09-11 09:33:50 -07:00
Simon Forman
64946dc239
Put definitions in the docstring.
...
Why not? ¯\_(ツ)_/¯
2022-09-11 09:03:58 -07:00