sforman
c4d80f6c4e
Use match a little more.
2023-10-11 20:13:02 -07:00
sforman
93556efeeb
Use match instead of cond.
2023-10-11 20:01:35 -07:00
sforman
8e15a657ed
Minor indentation change, a typo.
2023-10-10 12:12:07 -07:00
sforman
4df31667b6
Remove global stack, dict.
...
Pass them through the recursive loop instead.
2023-10-10 11:16:30 -07:00
sforman
937f6bfce5
Put a bang on add-def.
2023-10-10 10:45:00 -07:00
sforman
a7c206745a
Some edits.
2023-10-10 10:08:17 -07:00
sforman
506b40bba4
min and max
2023-10-09 13:04:16 -07:00
sforman
32d772e8b0
Some edits to some notebooks.
2023-10-09 12:48:14 -07:00
sforman
356f67dd7d
Run MAKE.
2023-10-09 11:50:37 -07:00
sforman
da0e1e685e
Derive zip.
2023-10-09 11:45:28 -07:00
sforman
787dc6a7b3
Nerd Sniped
2023-10-09 11:44:13 -07:00
sforman
04d3e96a99
Great progress!
2023-10-08 20:17:02 -07:00
sforman
eb665f2b50
More work on Ref doc, & stuff.
2023-10-08 17:58:22 -07:00
sforman
d833f1a3e9
Implement bool and trace for Scheme.
2023-10-08 17:57:05 -07:00
sforman
4821ea0ee2
Take the right number of things off of the stack.
2023-10-08 13:08:34 -07:00
sforman
bcf6abc50d
Nerd sniped by a silly function.
2023-10-07 15:25:38 -07:00
sforman
7314d2177c
Minor edits; rebuild docs.
2023-10-04 09:58:02 -07:00
sforman
69f32424a6
Print out wobbly words.
...
That have definition but no ref doc, or ref docs but no defs.
2023-10-04 08:28:53 -07:00
sforman
8c6d3dcff8
Use slightly smaller font files.
2023-10-03 20:19:31 -07:00
sforman
d798339f86
Minor edits.
2023-10-03 20:17:04 -07:00
sforman
7ccfba86fd
Tidy?
2023-10-01 12:48:25 -07:00
sforman
8661373435
A little more work on the ref doc.
2023-10-01 09:21:16 -07:00
sforman
d723724193
Mark combinators.
2023-09-30 14:41:39 -07:00
sforman
902a9f62af
Build the ref doc.
2023-09-30 14:25:12 -07:00
sforman
52e831a137
Put interpreter on pages.
2023-09-29 15:25:49 -07:00
sforman
c3054377a6
Give it it's own CSS file.
...
It's good enough for now.
2023-09-28 18:37:01 -07:00
sforman
aeb1eee646
remove the individual md ref files
2023-09-28 11:53:34 -07:00
sforman
fa4771fea7
Minor edits.
2023-09-28 11:36:19 -07:00
sforman
0e380b7748
Div, mod handle zero.
2023-09-23 21:20:37 -07:00
sforman
f2f1932876
Typo.
2023-09-23 10:59:38 -07:00
sforman
20b5f05d29
Elm reformatting and demo HTML page.
2023-09-23 09:37:43 -07:00
sforman
16cc0e5769
Change definition of uncons.
2023-09-18 11:26:50 -07:00
sforman
ecc2e442fb
Use blob URL.
2023-09-06 18:26:52 -07:00
sforman
463ed04e05
Add grammar image.
...
Made with https://jacquev6.github.io/DrawGrammar/
2023-09-06 18:24:27 -07:00
sforman
68488cc9d2
Elm version using BigNums.
...
This went pretty smoothly, I just followed the compiler errors after
substituting Integer for Int in the type definition.
The only tricky thing is that the div and mod functions for Integer
return Maybe Integer rather than just Integer, so I need to wrap those
or something? (For now I just put in add to get it to compile.)
Oh, and "not equal" is not correct? The compiler didn't complain.
2023-09-02 11:30:18 -07:00
sforman
10c1d6ccde
Let's use bignums.
2023-09-02 11:11:42 -07:00
sforman
4f27f3305f
Don't use andThen.
...
It's less clear than spelling it all out.
2023-09-02 09:44:57 -07:00
sforman
b65e948cce
Chaining with andThen works but is ugly.
...
It's lees clear to me what's going on, and I wrote it.
2023-09-02 09:38:15 -07:00
sforman
ee7c1cec99
I think Scheme?
2023-08-31 10:42:29 -07:00
sforman
e956e177f6
Rebuilt C.
2023-08-30 19:57:57 -07:00
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
38a9b93488
Rename BigNums.
2023-08-30 10:42:29 -07:00
sforman
58ca23c889
Add a README to the docs/ dir.
2023-08-30 07:26:47 -07:00
sforman
863d0698b5
Test calling dip on non-quote.
2023-08-30 07:25:11 -07:00
sforman
1c3a00e4a6
I just realized these all refer to the old package organization.
2023-08-29 06:12:51 -07:00
sforman
6674fdffb6
Better exceptions.
2023-08-28 20:46:19 -07:00
sforman
7285ebb8da
Example of infra evaluation.
2023-08-26 10:56:29 -07:00
sforman
2482636d9b
Note on Variations
2023-08-26 10:56:21 -07:00
sforman
53ad9eb5e7
Minor edits.
2023-08-21 17:58:47 -07:00
sforman
a107e1df6c
Rebuilt C interpreter.
2023-08-21 09:53:24 -07:00
sforman
9998e7947b
Finished up Generator_Programs.md
2023-08-20 17:21:49 -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
3c3b156169
Some scratch source
...
from editing BigNums notebook.
2023-08-18 17:00:13 -07:00
sforman
20b517f083
Figlet headings.
2023-08-18 16:59:32 -07:00
sforman
ef9f7f2c0e
Minor CSS changes.
2023-08-18 16:58:25 -07:00
sforman
805ec23e11
Edits on BigNums notebook.
2023-08-18 16:57:54 -07:00
sforman
99435490d0
About 2/5ths done.
2023-08-17 12:09:23 -07:00
sforman
307a421fab
Add definition for xor.
2023-08-16 10:05:30 -07:00
sforman
387d9d4ed4
Working on the notebooks.
2023-08-16 10:04:52 -07:00
sforman
7d8e2ae611
Updating notebooks
...
to not use Jupyter because I can't figure out how to use the Joy kernel.
2023-08-14 09:18:04 -07:00
sforman
70aa2ef5e9
Working on the website for Thun.
...
I'm going to eventually update the old Sphinx-generated site on OSDN.
2023-08-13 14:30:57 -07:00
sforman
60bddcc70e
cleanup
2023-08-13 08:49:20 -07:00
sforman
4fe3857eb9
Put this over there.
2023-08-13 08:48:06 -07:00
sforman
1f5bea98b6
Minor edits.
2023-08-13 08:47:16 -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
eafa3d45ac
Minor edit.
2023-08-12 12:55:25 -07:00
sforman
c01b107541
Little updates to the spec doc.
2023-08-12 10:36:19 -07:00
sforman
6ed3a770fb
Minor edits.
2023-08-12 08:40:55 -07:00
sforman
8bbbd2a4a4
Update defs.scm
2023-08-12 08:26:59 -07:00
sforman
69689f8cc6
Merge in the test suite.
...
Why not?
(I have a slow tide, expand into pieces, contract into units, and back
again. This is part of a contract and unify phase.)
2023-08-12 08:19:54 -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