• R/O
  • HTTP
  • SSH

Thun: Listed des commits

Interpreter and library.

Révision l'heure Auteur
bca3986 master 2023-11-13 02:59:02 sforman

Better definition for enstacken.

f7c7dc2 2023-10-25 06:29:38 sforman

Minor cleanup.

8f3a4f3 2023-10-25 01:49:42 sforman

Minor cleanup.

961d841 2023-10-25 01:47:15 sforman

Rearrange parser code.

It fits on a page now and reads well top-to-bottom.

4bb47c6 2023-10-24 14:50:57 sforman

Fold in expect-right-bracket-lookahead

735ee73 2023-10-24 14:50:44 sforman

Remake C version.

a6be85c 2023-10-24 08:06:35 sforman

Remove underscores from example names.

Just for visual effect in the doc.

26725ce 2023-10-22 12:05:11 sforman

Parse errors.

Convert error to abort to get the messages picked up by the exception

0a135e0 2023-10-22 11:25:14 sforman

Runtime type checking for bool.

I think I'm going to retire bool in favor of e.g. 0= and null.
Booleans are already Boolean, of course, and symbols should not be
expected to have a valid interpretation in a Boolean context (I think?)

bd55214 2023-10-22 11:13:59 sforman

Runtime type checking for rest of core; inscribe.

3c1d5ac 2023-10-22 04:40:30 sforman


35a122b 2023-10-22 04:17:21 sforman

Runtime type checking for comparison ops.

Because we're using Scheme Booleans for Thun Booleans there's no need to
make a special function for these, we can reuse the one for math ops.

6bd9249 2023-10-22 04:11:06 sforman

Runtime type checking for math ops.

d76c23d 2023-10-22 03:10:36 sforman


8bb8953 2023-10-22 03:08:01 sforman

pop-any and pop-list.

Runtime type-checking.

3e72ce4 2023-10-21 14:16:21 sforman

minor edits

0fcd217 2023-10-21 11:36:41 sforman

A little BTree.

Persistent (immutable) datastructure.

b116c2c 2023-10-21 03:42:50 sforman

A start on error reporting.

I outfitted `rest` with some error reporting and tried out exception
handling. So far so good.

One issue is that the dictionary is not a persistent datastructure, so
if there was an "inscribe" command (it's not yet implemented for this
Scheme implementation) that might be slightly problematical. (If an
error were to occur in an evaluation that had already entered new
definitions into the dict then those definitions would "survive" into
the rest of the REPL session (or whatever.))

I'll look into persistent dict for Scheme.

d062350 2023-10-20 12:54:11 sforman

Use Scheme symbols for Thun symbols.

It seems more elegant that way, but I haven't tested it to find out if
it has better performance or memory usage (yet.)

7f5c1d3 2023-10-16 03:41:44 sforman

Symbols for symbols.

This shouldn't work yet, because the parser makes Lisp symbols out of
the Thun symbols, but the match expr still has strings. In the REPL
this fails, but in the compiled Joy binary it doesn't fail, the
interpreter interprets just fine.

68a85c9 2023-10-13 23:42:22 sforman

add defs for select and small; cleaner joy-func.

2050867 2023-10-12 12:36:01 sforman

A little more match.

c4d80f6 2023-10-12 12:13:02 sforman

Use match a little more.

93556ef 2023-10-12 12:01:35 sforman

Use match instead of cond.

8e15a65 2023-10-11 04:12:07 sforman

Minor indentation change, a typo.

4df3166 2023-10-11 03:16:30 sforman

Remove global stack, dict.

Pass them through the recursive loop instead.

937f6bf 2023-10-11 02:45:00 sforman

Put a bang on add-def.

a7c2067 2023-10-11 02:08:17 sforman

Some edits.

506b40b 2023-10-10 05:04:16 sforman

min and max

32d772e 2023-10-10 04:48:14 sforman

Some edits to some notebooks.

Afficher sur ancien navigateur de dépôt.