OSDN Git Service
sforman [Tue, 29 Aug 2023 13:12:51 +0000 (06:12 -0700)]
I just realized these all refer to the old package organization.
sforman [Tue, 29 Aug 2023 03:46:19 +0000 (20:46 -0700)]
Better exceptions.
sforman [Sat, 26 Aug 2023 17:56:29 +0000 (10:56 -0700)]
Example of infra evaluation.
sforman [Sat, 26 Aug 2023 17:56:21 +0000 (10:56 -0700)]
Note on Variations
sforman [Tue, 22 Aug 2023 00:58:47 +0000 (17:58 -0700)]
Minor edits.
sforman [Mon, 21 Aug 2023 16:53:24 +0000 (09:53 -0700)]
Rebuilt C interpreter.
sforman [Mon, 21 Aug 2023 00:21:49 +0000 (17:21 -0700)]
Finished up Generator_Programs.md
sforman [Sun, 20 Aug 2023 17:24:29 +0000 (10:24 -0700)]
README for Chicken Scheme.
sforman [Sat, 19 Aug 2023 00:09:08 +0000 (17:09 -0700)]
sort
sforman [Sat, 19 Aug 2023 00:00:13 +0000 (17:00 -0700)]
Some scratch source
from editing BigNums notebook.
sforman [Fri, 18 Aug 2023 23:59:32 +0000 (16:59 -0700)]
Figlet headings.
sforman [Fri, 18 Aug 2023 23:58:25 +0000 (16:58 -0700)]
Minor CSS changes.
sforman [Fri, 18 Aug 2023 23:57:54 +0000 (16:57 -0700)]
Edits on BigNums notebook.
sforman [Thu, 17 Aug 2023 19:09:23 +0000 (12:09 -0700)]
About 2/5ths done.
sforman [Wed, 16 Aug 2023 17:05:30 +0000 (10:05 -0700)]
Add definition for xor.
sforman [Wed, 16 Aug 2023 17:04:52 +0000 (10:04 -0700)]
Working on the notebooks.
sforman [Mon, 14 Aug 2023 16:18:04 +0000 (09:18 -0700)]
Updating notebooks
to not use Jupyter because I can't figure out how to use the Joy kernel.
sforman [Sun, 13 Aug 2023 21:30:57 +0000 (14:30 -0700)]
Working on the website for Thun.
I'm going to eventually update the old Sphinx-generated site on OSDN.
sforman [Sun, 13 Aug 2023 15:49:20 +0000 (08:49 -0700)]
cleanup
sforman [Sun, 13 Aug 2023 15:48:06 +0000 (08:48 -0700)]
Put this over there.
sforman [Sun, 13 Aug 2023 15:47:16 +0000 (08:47 -0700)]
Minor edits.
sforman [Sat, 12 Aug 2023 23:45:59 +0000 (16:45 -0700)]
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...
sforman [Sat, 12 Aug 2023 21:09:44 +0000 (14:09 -0700)]
for-each
sforman [Sat, 12 Aug 2023 20:03:42 +0000 (13:03 -0700)]
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.
sforman [Sat, 12 Aug 2023 19:55:25 +0000 (12:55 -0700)]
Minor edit.
sforman [Sat, 12 Aug 2023 17:36:19 +0000 (10:36 -0700)]
Little updates to the spec doc.
sforman [Sat, 12 Aug 2023 15:40:55 +0000 (08:40 -0700)]
Minor edits.
sforman [Sat, 12 Aug 2023 15:26:59 +0000 (08:26 -0700)]
Update defs.scm
sforman [Sat, 12 Aug 2023 15:19:54 +0000 (08:19 -0700)]
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.)
sforman [Sat, 12 Aug 2023 15:04:21 +0000 (08:04 -0700)]
Math ops, definitions for left- and right-shift.
sforman [Sat, 12 Aug 2023 14:54:33 +0000 (07:54 -0700)]
mul div mod add sub in Nim
sforman [Sat, 12 Aug 2023 06:02:46 +0000 (23:02 -0700)]
first rest
sforman [Sat, 12 Aug 2023 05:48:25 +0000 (22:48 -0700)]
concat cons comparison
sforman [Sat, 12 Aug 2023 04:27:41 +0000 (21:27 -0700)]
loop
sforman [Sat, 12 Aug 2023 04:15:26 +0000 (21:15 -0700)]
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!)
sforman [Sat, 12 Aug 2023 03:47:53 +0000 (20:47 -0700)]
dip
sforman [Sat, 12 Aug 2023 03:45:25 +0000 (20:45 -0700)]
i
sforman [Sat, 12 Aug 2023 03:38:01 +0000 (20:38 -0700)]
swap
sforman [Sat, 12 Aug 2023 03:34:40 +0000 (20:34 -0700)]
pop
sforman [Fri, 11 Aug 2023 18:11:51 +0000 (11:11 -0700)]
stack, swaack
sforman [Fri, 11 Aug 2023 18:03:00 +0000 (11:03 -0700)]
Add copyleft notice.
sforman [Fri, 11 Aug 2023 17:48:33 +0000 (10:48 -0700)]
Load defs at compile time.
I don't really know the proper way to do this, but I managed to whump
something up.
sforman [Fri, 11 Aug 2023 17:31:53 +0000 (10:31 -0700)]
Evaluate definitions.
sforman [Fri, 11 Aug 2023 17:15:31 +0000 (10:15 -0700)]
Convert defs.txt to defs.scm.
Gonna need a makefile.
sforman [Fri, 11 Aug 2023 15:50:00 +0000 (08:50 -0700)]
Load defs from defs.txt.
They are loaded at runtime though :( shouldn't be too hard to fix that?
sforman [Fri, 11 Aug 2023 04:49:37 +0000 (21:49 -0700)]
A start on dictionaries using srfi-69 hash tables.
sforman [Fri, 11 Aug 2023 04:48:46 +0000 (21:48 -0700)]
Use '->' in names of functions that convert values.
sforman [Fri, 11 Aug 2023 04:47:54 +0000 (21:47 -0700)]
dup
sforman [Fri, 11 Aug 2023 04:46:56 +0000 (21:46 -0700)]
minor edit
sforman [Fri, 11 Aug 2023 04:45:40 +0000 (21:45 -0700)]
It's more efficient to concat the empty list
than to concate a non-empty list onto the empty list.
sforman [Fri, 4 Aug 2023 17:38:52 +0000 (10:38 -0700)]
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.)
sforman [Fri, 4 Aug 2023 16:52:09 +0000 (09:52 -0700)]
Parser emits errors; joy
sforman [Fri, 4 Aug 2023 15:14:45 +0000 (08:14 -0700)]
joy-expression-to-string
sforman [Fri, 4 Aug 2023 14:47:12 +0000 (07:47 -0700)]
text-to-expression
sforman [Fri, 4 Aug 2023 14:43:05 +0000 (07:43 -0700)]
It's Joy.
Or will be soon.
sforman [Fri, 4 Aug 2023 07:33:11 +0000 (00:33 -0700)]
Parser.
sforman [Thu, 3 Aug 2023 18:28:46 +0000 (11:28 -0700)]
Scheme, eh?
sforman [Thu, 3 Aug 2023 05:38:04 +0000 (22:38 -0700)]
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...
sforman [Thu, 3 Aug 2023 04:19:43 +0000 (21:19 -0700)]
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.
sforman [Thu, 3 Aug 2023 02:37:36 +0000 (19:37 -0700)]
Checked old defs.
I forgot `over`!
sforman [Thu, 3 Aug 2023 02:08:42 +0000 (19:08 -0700)]
Talk about symbols on the stack.
sforman [Thu, 3 Aug 2023 01:52:31 +0000 (18:52 -0700)]
A spec doc for Thun.
It's not very good yet, or formal, "but it's mine and I love it."
sforman [Wed, 2 Aug 2023 16:06:11 +0000 (09:06 -0700)]
_isnt_bool _isnt_two_bools
These probably won't last?
sforman [Mon, 31 Jul 2023 19:08:39 +0000 (12:08 -0700)]
minor edits
sforman [Mon, 31 Jul 2023 18:30:12 +0000 (11:30 -0700)]
Elm README.
And minor edits.
sforman [Mon, 31 Jul 2023 18:22:44 +0000 (11:22 -0700)]
minor edits
sforman [Mon, 31 Jul 2023 18:17:05 +0000 (11:17 -0700)]
minor edits
sforman [Mon, 31 Jul 2023 18:06:13 +0000 (11:06 -0700)]
minor edits
sforman [Mon, 31 Jul 2023 17:44:38 +0000 (10:44 -0700)]
Oops, that is not a definition of `first`.
sforman [Mon, 31 Jul 2023 17:36:53 +0000 (10:36 -0700)]
Minor edits.
sforman [Sun, 30 Jul 2023 23:34:56 +0000 (16:34 -0700)]
Minor edits.
sforman [Sun, 30 Jul 2023 23:16:51 +0000 (16:16 -0700)]
I think I have got it.
sforman [Sun, 30 Jul 2023 23:14:52 +0000 (16:14 -0700)]
egad
sforman [Sun, 30 Jul 2023 23:03:17 +0000 (16:03 -0700)]
weird symbols in table
sforman [Sun, 30 Jul 2023 23:01:09 +0000 (16:01 -0700)]
mdtableeeeee
sforman [Sun, 30 Jul 2023 22:54:07 +0000 (15:54 -0700)]
MD TABLE!?
sforman [Sun, 30 Jul 2023 22:51:29 +0000 (15:51 -0700)]
Sort out the and/or/... ops.
sforman [Sun, 30 Jul 2023 22:42:55 +0000 (15:42 -0700)]
Crude type checking.
I forget why I was doing "not not" so I made it a little more clear. In
practice this is regressive: The built-in "isnt_bool" function should
be in the dictionary? Or prohibit type checking and let the bugs flow?
Rely on inference to prevent bugs that would pass the non-checking
versions of the functions? Hmm...
sforman [Sun, 30 Jul 2023 22:41:58 +0000 (15:41 -0700)]
Name Boolean ops.
So they don't overshadow the defs for the short-circuiting combinators.
sforman [Sun, 30 Jul 2023 21:59:09 +0000 (14:59 -0700)]
Error type (not just a string.)
This is mostly for fun, but I bet it comes in handy, eh?
At the very least, it's a nice catalog of the possible errors that the
basic Joy system might encounter.
sforman [Sun, 30 Jul 2023 21:27:27 +0000 (14:27 -0700)]
type alias JoyFunction
sforman [Sun, 30 Jul 2023 14:47:26 +0000 (07:47 -0700)]
Format.
sforman [Sun, 30 Jul 2023 14:45:06 +0000 (07:45 -0700)]
inscribe, definitions.
sforman [Sun, 30 Jul 2023 00:10:45 +0000 (17:10 -0700)]
Initialize dict with defs.
Just sqr for now, but it shows that it works.
I would like to return Results from add_def but it makes using foldl
slightly tricky, not a lot, just slightly, and my brainpower is low at
the mo'.
sforman [Sat, 29 Jul 2023 19:35:47 +0000 (12:35 -0700)]
Look up words in the dictionary.
If they are not built-in, which means you can't "shadow" built-ins with
"inscribe", which may or may not turn out to be what we want?
sforman [Sat, 29 Jul 2023 19:30:22 +0000 (12:30 -0700)]
Thread the dictionary through the call stack.
sforman [Sat, 29 Jul 2023 19:11:43 +0000 (12:11 -0700)]
Empty string is not an unknown word.
sforman [Sat, 29 Jul 2023 19:09:08 +0000 (12:09 -0700)]
Gotta keep a Dict around.
sforman [Sat, 29 Jul 2023 18:37:07 +0000 (11:37 -0700)]
Logical ops.
sforman [Sat, 29 Jul 2023 18:32:22 +0000 (11:32 -0700)]
Left- and Right-shift.
sforman [Sat, 29 Jul 2023 18:07:50 +0000 (11:07 -0700)]
Comparison ops.
sforman [Sat, 29 Jul 2023 17:44:51 +0000 (10:44 -0700)]
loop
sforman [Sat, 29 Jul 2023 17:38:12 +0000 (10:38 -0700)]
branch
sforman [Sat, 29 Jul 2023 17:28:31 +0000 (10:28 -0700)]
dip
sforman [Sat, 29 Jul 2023 17:23:06 +0000 (10:23 -0700)]
i
sforman [Sat, 29 Jul 2023 17:19:39 +0000 (10:19 -0700)]
truthy
I have to check into this: the Python version has "bool" and no
"truthy".
sforman [Sat, 29 Jul 2023 17:09:40 +0000 (10:09 -0700)]
swap
sforman [Sat, 29 Jul 2023 17:00:16 +0000 (10:00 -0700)]
stack, swaack
sforman [Sat, 29 Jul 2023 16:55:28 +0000 (09:55 -0700)]
pop
sforman [Sat, 29 Jul 2023 16:53:00 +0000 (09:53 -0700)]
first, rest