sforman
18adfa2205
Compiling Thun to Python.
...
Not all of the words that compiled with the old defs.txt compiled with
the latest, so we're keeping the old one in here until I can trace down
the issues.
2023-08-30 18:54:49 -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
47275cf1f1
Simple linear power function.
2023-08-30 18:44:55 -07:00
sforman
fb8faf917d
THe old compiler-to-Python.
2023-08-30 16:57:48 -07:00
sforman
6674fdffb6
Better exceptions.
2023-08-28 20:46:19 -07:00
sforman
a107e1df6c
Rebuilt C interpreter.
2023-08-21 09:53:24 -07:00
sforman
8dfcbca2a8
README for Chicken Scheme.
2023-08-20 10:24:29 -07:00
sforman
5edf0797b4
sort
2023-08-18 17:09:08 -07:00
sforman
20b517f083
Figlet headings.
2023-08-18 16:59:32 -07:00
sforman
307a421fab
Add definition for xor.
2023-08-16 10:05:30 -07:00
sforman
60bddcc70e
cleanup
2023-08-13 08:49:20 -07:00
sforman
9f78b6d8fd
Messing around with type inference.
...
What if we insist that both branches of a branch have compatible types?
For one thing `[+] [* +] branch` leads to a circular term which, when
printed, goes into a loop: "int,int,int,...". Hmm...
2023-08-12 16:45:59 -07:00
sforman
48e443c5c7
for-each
2023-08-12 14:09:44 -07:00
sforman
596a7a21eb
A crude main loop.
...
I know there are better ways to do this, but I don't know what they are
yet. Maybe a "do" loop? Anyway, this works, although it doesn't catch
errors yet.
2023-08-12 13:03:42 -07:00
sforman
8bbbd2a4a4
Update defs.scm
2023-08-12 08:26:59 -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
f45c739fad
first rest
2023-08-11 23:02:46 -07:00
sforman
1a37a8e81c
concat cons comparison
2023-08-11 22:48:25 -07:00
sforman
8df8634e39
loop
2023-08-11 21:27:41 -07:00
sforman
172407fef1
branch and refactor simple functions.
...
The refactor should be a macro but I don't know how to write those yet
(apparently there are different macros systems... ooo la la!)
2023-08-11 21:15:26 -07:00
sforman
4d6d66e391
dip
2023-08-11 20:49:24 -07:00
sforman
c3e6c1be90
i
2023-08-11 20:45:25 -07:00
sforman
ae7d854330
swap
2023-08-11 20:38:01 -07:00
sforman
9fbb7c05c3
pop
2023-08-11 20:34:40 -07:00
sforman
b921a9e3d2
stack, swaack
2023-08-11 11:11:51 -07:00
sforman
5f8e33ff8d
Add copyleft notice.
2023-08-11 11:03:00 -07:00
sforman
3382d0a47e
Load defs at compile time.
...
I don't really know the proper way to do this, but I managed to whump
something up.
2023-08-11 10:48:33 -07:00
sforman
8fab04b02e
Evaluate definitions.
2023-08-11 10:31:53 -07:00
sforman
67b60be123
Convert defs.txt to defs.scm.
...
Gonna need a makefile.
2023-08-11 10:15:31 -07:00
sforman
d014709a32
Load defs from defs.txt.
...
They are loaded at runtime though :( shouldn't be too hard to fix that?
2023-08-11 08:50:00 -07:00
sforman
b6c3c364d0
A start on dictionaries using srfi-69 hash tables.
2023-08-10 21:49:37 -07:00
sforman
19777a86ae
Use '->' in names of functions that convert values.
2023-08-10 21:48:46 -07:00
sforman
1bad1508f1
dup
2023-08-10 21:47:54 -07:00
sforman
a56a3939c1
minor edit
2023-08-10 21:46:56 -07:00
sforman
a15ea2d355
It's more efficient to concat the empty list
...
than to concate a non-empty list onto the empty list.
2023-08-10 21:45:40 -07:00
sforman
7c9663594b
A start on simple functions.
...
I'm sure there's a cooler way to do this, but it works. (This is my
first Scheme code.)
2023-08-04 10:38:52 -07:00
sforman
8cc15a745f
Parser emits errors; joy
2023-08-04 09:52:09 -07:00
sforman
ea60a04d96
joy-expression-to-string
2023-08-04 08:14:45 -07:00
sforman
35ffe71482
text-to-expression
2023-08-04 07:47:12 -07:00
sforman
dedbb0115f
It's Joy.
...
Or will be soon.
2023-08-04 07:43:05 -07:00
sforman
0503dc2fbe
Parser.
2023-08-04 00:33:11 -07:00
sforman
0122c4f249
Scheme, eh?
2023-08-03 11:28:46 -07:00
sforman
97602ade8d
SWIProlog can't not emit '.'.
...
I would like the GNU Prolog and SWI Prolog versions to be compatible, if
possible.
SWI has bigints, GNU doesn't, so that's a wrinkle...
2023-08-02 22:38:04 -07:00
sforman
ee4c3bc9b6
Thread the dict through the interaction loop.
...
Like a total newbie I put the call to the interpreter in the view
function instead of the update function! I thought it was weird having
to specify the HTML twice, but I figured I was just doing it wrong. I
was, but not in the way I suspected.
In any event, I like how this make it clear that errors can't affect the
dictionary.
2023-08-02 21:19:43 -07:00
sforman
2fe886afba
Checked old defs.
...
I forgot `over`!
2023-08-02 19:37:36 -07:00
sforman
5585ae5d31
_isnt_bool _isnt_two_bools
...
These probably won't last?
2023-08-02 09:06:11 -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