sforman
16cc0e5769
Change definition of uncons.
2023-09-18 11:26:50 -07:00
sforman
9c4ecb085b
pow
2023-08-30 18:52:26 -07:00
sforman
35097d90a9
Update Nim defs.txt.
2023-08-30 18:46:51 -07:00
sforman
00f4bfcacd
Math ops, definitions for left- and right-shift.
2023-08-12 08:04:21 -07:00
sforman
99f01bec1f
mul div mod add sub in Nim
2023-08-12 07:54:33 -07:00
sforman
f15eef1c56
minor edits
2023-07-31 12:08:39 -07:00
sforman
45f00c8f2e
Elm README.
...
And minor edits.
2023-07-31 11:30:12 -07:00
sforman
3f9f558ebb
the BinInt zero vanished?
2023-07-25 22:01:55 -07:00
Simon Forman
db9c2c16a9
inscribe command for Nim.
...
https://todo.sr.ht/~sforman/thun-der/27
It doesn't let you overwrite definitions that are loaded from defs.txt.
It DOES let you overwrite builtins, but that doesn't matter because they
are handled by joy_eval() before it checks the dictionary, so in
practice the definitions are never evaluated even though they are put
into the dictionary. Whew! It's hacky but it works!
2023-02-14 20:27:36 -08:00
Simon Forman
de774af3da
Emit error messages on stderr.
2023-02-14 17:57:29 -08:00
Simon Forman
2f5f679d61
No negative shift values.
2023-02-14 14:56:46 -08:00
Simon Forman
23cf3f5b70
lshift and rshift for Nim.
...
Incomplete, should reject negative shift count.
2023-02-14 14:19:57 -08:00
Simon Forman
f1db810370
or instead of ||, and instead of &&
...
Docs still TODO!
2023-02-14 12:27:46 -08:00
Simon Forman
5ce30d41c3
Regularize defs.txt.
...
All three main interpreters use the same defs.txt file.
2023-02-14 10:23:23 -08:00
Simon Forman
e771e0182b
Make /\ and \/ check that their args are Booleans.
2023-02-14 08:40:32 -08:00
Simon Forman
ad0f135376
Don't let defs shadow builtins.
2023-02-14 08:39:52 -08:00
Simon Forman
035fb00939
minor cleanup
2023-02-09 08:28:31 -08:00
Simon Forman
61bcf3588a
Apparently this is redundant.
...
Discovered by running `nim doc joy.nim`, compiling doesn't flag it.
2022-09-28 21:22:19 -07:00
Simon Forman
ec46cb6a2b
Clear out old docs; update defs.txt.
2022-09-28 18:28:25 -07:00
Simon Forman
d94153583c
Comparison operations.
2022-09-24 21:00:45 -07:00
Simon Forman
c591bf4138
branch, dip, i, loop
...
The core combinators (except fork).
2022-09-24 20:45:06 -07:00
Simon Forman
77b1638d64
Check for minus before converting to int.
...
BigInts converts "-" to 0. This happens in the parser before you get to
the evaluator.
2022-09-14 21:09:20 -07:00
Simon Forman
9d7a2a8fcb
Minor cleanup, subtraction.
...
Testing with the joytest test suite revealed that I had forgotten to
implement subtraction. This also unconvered a (maybe) bug in the
BigInts package where it converts "-" to zero.
https://git.sr.ht/~sforman/joytest
https://github.com/nim-lang/bigints/issues/116
2022-09-14 21:01:50 -07:00
Simon Forman
39008b351b
Let simplejoy be joy.
...
Simple pleasures are the best.
2022-09-14 20:15:25 -07:00
Simon Forman
f5265a2287
Remove old code.
2022-09-14 20:14:34 -07:00
Simon Forman
3f7adea56f
Read defs.txt at compile-time.
...
I'd like to build the dict datastructure at compile-time too but I'm not
going to figure that out tonight. It's enough that the defs are
embedded in the executable. (You can see them with the strings utility.)
2022-09-14 20:08:40 -07:00
Simon Forman
30c57c180b
basis complete
2022-09-14 18:51:58 -07:00
Simon Forman
0f79f089a6
dup, first, i, loop
2022-09-14 15:48:25 -07:00
Simon Forman
f86e1b2e7c
dip and cons
2022-09-14 15:04:07 -07:00
Simon Forman
129a5f776d
Rewrite expression to use list instead of list node.
2022-09-14 14:36:29 -07:00
Simon Forman
9e5d699b0f
Minor cleanup.
2022-09-14 13:31:44 -07:00
Simon Forman
3d199c1106
Reuse as_list().
2022-09-14 11:24:56 -07:00
Simon Forman
9f04aa97e2
Cleaning up the code.
2022-09-14 10:49:13 -07:00
Simon Forman
6eb71b3c6e
Nimpretty reformat. Two-space indentation.
2022-09-14 09:49:33 -07:00
Simon Forman
94929e8520
Let's pile Nim code into one file too, why not?
2022-09-14 09:45:34 -07:00
Simon Forman
77bd7790f5
updated defs via make
2022-09-12 13:50:07 -07:00
Simon Forman
d0a253c503
Need to keep definition for ucons around
...
the Nim implementation has first and rest but not uncons.
2022-04-05 11:15:34 -07:00
Simon Forman
9fe565a929
uncons as basis
...
- clear deletes stack at once, not in a loop
- make uncons basis and define first and rest in tems of it
2022-04-05 10:06:40 -07:00
Simon Forman
05f0346d0e
Depend on the general def.txt file.
2022-03-09 12:40:02 -08:00
Simon Forman
dab44e30b5
Update local defs.txt.
2022-02-22 13:49:44 -08:00
Simon Forman
737795acaa
Simple makefile for Nim implementation.
2022-02-22 12:55:09 -08:00
Simon Forman
cf56e31fbd
Uppercase Nim.
2022-02-19 07:48:51 -08:00