7fccfb5a02ee — Leonard Ritter a month ago
* REPL: completion suggestions are first sorted by length, then lexicographic
939ebdc7231f — Leonard Ritter 8 months ago
* fixed module docstring propagation across `run-stage`, `using` and scope inheritance
* updated module documentation
* updated reference documentation
1342cae95f1f — Leonard Ritter 8 months ago
* performance improvement: when scope lookup requires more than 16 iterations, create a table at the nearest endpoint and try again
972af3794e9f — Leonard Ritter 8 months ago
* initial support for big integer constants
* added `sc_const_int_words_new` to create integer constants larger than 64 bits
* `spice-quote` correctly quotes big integer constants
effac45da4fa — Leonard Ritter 9 months ago
* speed-up scope lookup when a map is available
* reparenting no longer reconstructs all entries
8d4bc7342fc8 — Leonard Ritter 9 months ago
* `Scope` objects have been rewritten to become immutable mappings, which means that mutating a scope always creates a new one.
* `'bind Scope` no longer operates in-place but returns a new `Scope` object. The same goes for `bind-symbols`.
* `Scope` constructor only accepts optional `parent` argument. Reparentng can be done using `'reparent Scope` or `'unparent Scope`
* added `indirect-let` form to allow setting hidden predefined symbols.
* module docstrings can now be queried with `'module-docstring Scope`.
b1fa0fdbcb20 — Leonard Ritter 1 year, 2 months ago
* scope objects now allow mapping arbitrary constants, not just symbols. to reflect this, all existing scope API functions now use values as keys
* removed `sc_scope_set_symbol` and `sc_scope_del_symbol`
* added `sc_scope_bind` and `sc_scope_unbind`
* removed `'set-symbol`, `'set-symbols`, `'define-symbol` and `'define-internal-symbol` from `Scope` objects
* added `'bind`, `'bind-symbols`, `'define` and `'define-internal` to `Scope` objects
* fixed symbol constants not getting memoized
* `sc_scope_next` and `sc_scope_next_deleted` iterate by index rather than key
6e8ca75aecb2 — Leonard Ritter 1 year, 3 months ago
* fix non-deterministic scope iteration frequently breaking cache. instead, scopes are now iterated in the order keys were created.
f4b95aae8a29 — Leonard Ritter 1 year, 4 months ago
* ported stream_ast
ac607f3e2596 — Leonard Ritter 1 year, 6 months ago
* fixed docstrings
4e628ff7e0f1 — Leonard Ritter 1 year, 10 months ago
* removed `syntax-extend`
* added `compile-stage`, which creates runtime code to store all runtime variables as constants in a new scope and evaluates the remainder of the current expression block with this scope
5c9c158aba3f — Leonard Ritter 2 years ago
* removed symbolic type
0a93d888278f — Leonard Ritter 2 years ago
* renamed specializer to prover
* renamed ASTNode to a more human friendly Value type, and removed superfluous AST prefixes in names where possible
a10e10150e57 — Leonard Ritter 2 years ago
* lists store ast nodes directly
* removed any, argument, extern, syntax classes and associated API's
cc391d3fcaeb — Leonard Ritter 2 years ago
* more AST cleanup, support for loops
4d0d5e505b2f — Leonard Ritter 2 years ago
* initial work on AST
016db1be1b5c — Leonard Ritter 2 years ago
* strings are now hashed, so the same string hashes always to the same pointer
283be9c08c71 — Leonard Ritter 2 years ago
* reduced copyright preamble so there's less work updating years in the future
996d4829c0d1 — Leonard Ritter 2 years ago
* singled out list, syntax, scope, and shutdown / error / exception handling into separate files