| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | read: bytevectors | 2024-09-27 | 1 | -1/+11 | |
| | | |||||
| * | read: hash constants and directives | 2024-09-27 | 2 | -13/+38 | |
| | | |||||
| * | read: properly restore state when reading datum comments | 2024-09-27 | 1 | -8/+20 | |
| | | |||||
| * | read: document datum label | 2024-09-27 | 1 | -0/+8 | |
| | | |||||
| * | read: change datum label to object, that returns an encapsulated datum label | 2024-09-27 | 1 | -33/+47 | |
| | | |||||
| * | read: add object encapsulating identifier | 2024-09-27 | 3 | -24/+49 | |
| | | |||||
| * | Revert "add object helper functions" | 2024-09-27 | 3 | -159/+129 | |
| | | | | | This reverts commit 0d5f4545d0d3db7c9ec63cac005bb71b85fe6b23. | ||||
| * | Revert "object: change to a stateful table" | 2024-09-27 | 4 | -95/+42 | |
| | | | | | This reverts commit 3c34c4a5a7253df4417420bf276a78f8e9e1969b. | ||||
| * | Revert "object: rename" | 2024-09-27 | 3 | -12/+8 | |
| | | | | | | | | | This makes things much slower for questionable benefit. A better version might use a hash table. A better interpreter would use some form of partial evaluation to optimize the EQ? chain. This reverts commit 4acea69841ad62ec5d46eb565bbb5d98f84b3d38. | ||||
| * | object: rename | 2024-09-26 | 3 | -8/+12 | |
| | | |||||
| * | object: change to a stateful table | 2024-09-26 | 4 | -42/+95 | |
| | | |||||
| * | add object helper functions | 2024-09-24 | 3 | -129/+159 | |
| | | |||||
| * | miniscm: string->symbol and symbol->string | 2024-09-22 | 1 | -1/+17 | |
| | | |||||
| * | add linked list library | 2024-09-22 | 1 | -0/+82 | |
| | | |||||
| * | read: add datum labels and UNCYCLE to cope with circular definitions | 2024-09-22 | 1 | -12/+115 | |
| | | |||||
| * | read: factor out ADD-ALL-AS-SKIP to UPDATE-LIST | 2024-09-22 | 1 | -12/+50 | |
| | | |||||
| * | read: datum comments | 2024-09-22 | 1 | -0/+9 | |
| | | |||||
| * | read: block comments | 2024-09-22 | 1 | -2/+76 | |
| | | |||||
| * | read: vectors | 2024-09-22 | 1 | -1/+37 | |
| | | |||||
| * | read: factor out improper list reader | 2024-09-21 | 1 | -27/+49 | |
| | | |||||
| * | read: improper lists | 2024-09-20 | 1 | -26/+40 | |
| | | |||||
| * | readtable: add lists | 2024-09-20 | 2 | -15/+88 | |
| | | |||||
| * | miniscm: list->string | 2024-09-08 | 2 | -10/+45 | |
| | | |||||
| * | miniscm: add better support for immutable strings, and refactor to use real ↵ | 2024-09-08 | 3 | -49/+100 | |
| | | | | | strings | ||||
| * | miniscm: add string-ref | 2024-09-08 | 1 | -1/+26 | |
| | | |||||
| * | readtable: handle EOF by returning EOF symbol | 2024-09-08 | 1 | -1/+2 | |
| | | |||||
| * | readtable: comments | 2024-09-08 | 1 | -11/+47 | |
| | | |||||
| * | readtable: simplify | 2024-09-08 | 2 | -242/+134 | |
| | | | | | | | | | | After taking a look at the R7RS syntax and how Chicken parses directives, I realized that it's easier to have "#!", "#\\", etc. parse identifiers instead of baking in trie actions. This is slightly slower but completely removes the trie concept from the readtable, which simplifies the implementation and removes many corner cases involving combining readtables with different action types. | ||||
| * | readtable: case folding | 2024-09-07 | 2 | -37/+62 | |
| | | |||||
| * | readtable: when adding sequences to the readtable, push the last | 2024-09-07 | 1 | -3/+16 | |
| | | | | | | | | read character back to the character reader before executing the action. This fixes the issue where sequences eat characters in front of them. | ||||
| * | readtable: Normalize character handled by ACTIONs at the end of | 2024-09-07 | 1 | -8/+15 | |
| | | | | | | | | | | | | | sequences. Previously, if "#true" and "#t" were in the readtable as sequences, the string "#true" would call "#true"'s EXEC function after reading "e", but it would call "#t"'s EXEC function after reading a character after "t" (which could be EOF). The new behavior normalizes everything so that the ACTIONs read the character after the sequence. | ||||
| * | readtable: add documentation for PUSH->READ | 2024-09-07 | 1 | -0/+6 | |
| | | |||||
| * | Readtable: fix propagation of default handlers in trie paths | 2024-09-07 | 1 | -43/+56 | |
| | | | | | | | | | | | | | | Previous version did (ACTION 'UPDATE (CDR REST) ACTION) when a new action had to be made. This caused default actions to propagate through the trie. While this isn't bad (it causes #TRU to be equal to #TRUE when that was the last prefix in the tree), it can cause unexpected errors at runtime, and no program should ever depend on its behavior. The current solution is to make a new PASS readtable with a default error action. | ||||
| * | readtable: correctly add trie values. Incorrectly propogates default procedure | 2024-09-07 | 1 | -17/+19 | |
| | | |||||
| * | readtables, first pass | 2024-09-07 | 5 | -147/+321 | |
| | | |||||
| * | change around insert, delete, and update to hide representation | 2024-09-05 | 1 | -42/+37 | |
| | | |||||
| * | fix set and trie, add compat COND-EXPAND for chez | 2024-09-05 | 3 | -26/+223 | |
| | | |||||
| * | trie: add with test | 2024-09-04 | 5 | -3/+171 | |
| | | |||||
| * | set:refactor maps | 2024-09-04 | 1 | -30/+29 | |
| | | |||||
| * | set: add update | 2024-09-04 | 1 | -79/+150 | |
| | | |||||
| * | set: add insert multiple test | 2024-08-31 | 1 | -36/+110 | |
| | | |||||
| * | add sets | 2024-08-29 | 5 | -6/+436 | |
| | | |||||
| * | miniscm: add mutable string emulation and char->integer | 2024-08-26 | 3 | -3/+54 | |
| | | |||||
| * | miniscm: add ports | 2024-08-22 | 3 | -15/+189 | |
| | | |||||
| * | minischeme: add char | 2024-08-22 | 4 | -12/+79 | |
| | | |||||
| * | add doubly linked lists, tests, minischeme | 2024-08-22 | 7 | -0/+3616 | |
