michaelballantyne / ee-lib

MIT License
12 stars 5 forks source link

symbol sets and immutable tables and sets #10

Closed quasarbright closed 5 months ago

quasarbright commented 5 months ago

there are no unit tests or documentation for symbol tables, so I didn't add any for this. However, I manually tested the multipass DSL using these instead of symbol tables and it worked

quasarbright commented 5 months ago

added immutable local variants. I assume persistent immutable tables/sets don't make sense, so I didn't bother trying to add them. I didn't test immutables yet

quasarbright commented 5 months ago

https://github.com/michaelballantyne/syntax-spec/issues/22

michaelballantyne commented 5 months ago

I know the miniKanren-ee compiler needs all the operations we define in this file, at least: https://github.com/jasonhemann/minikanren-ee/blob/missing-scopes/private/compile/macro-scopes-bound-id-set.rkt

Union and intersect would also be good.

Let's construct the immutable tables with (immutable-symbol-table) and (immutable-symbol-set) rather than having definition forms.