Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(ast)!: refactor SymbolTable interface to hide implementation details #614

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

niklasdewally
Copy link
Collaborator

@niklasdewally niklasdewally commented Jan 25, 2025

  • fix(tester): make verbose work again, and run non-verbose tests in parallel
    Previous to this commit, VERBOSE=true caused the tests to hang
    indefinitely. This commit fixes this, and makes tests without
    ACCEPT=true or VERBOSE=true run in parallel again. ACCEPT=true tests
    cannot be run in parallel as I get occasional Conjure errors when doing
    this (which in turn cause the tests to fail)

  • refactor(ast)!: refactor SymbolTable interface to hide implementation details
    Change the SymbolTable to be a struct with private members, and create
    a new interface to interact with it. This hides the fact that the
    SymbolTable is a BTreeMap.

    While the symbol table is a simple BTreeMap both before and after this
    commit, the implementation of this is likely to change multiple times in
    the future. In particular, this commit is preparation for adding
    lettings and givens to the symbol table.


Related issues:

…rallel

Previous to this commit, VERBOSE=true caused the tests to hang
indefinitely. This commit fixes this, and makes tests without
ACCEPT=true or VERBOSE=true run in parallel again. ACCEPT=true tests
cannot be run in parallel as I get occasional Conjure errors when doing
this (which in turn cause the tests to fail)
…on details

Change the `SymbolTable` to be a struct with private members, and create
a new interface to interact with it. This hides the fact that the
`SymbolTable` is a `BTreeMap`.

While the symbol table is a simple `BTreeMap` both before and after this
commit, the implementation of this is likely to change multiple times in
the future. In particular, this commit is preparation for adding
`lettings` and `givens` to the symbol table.
@niklasdewally niklasdewally self-assigned this Jan 25, 2025
@niklasdewally niklasdewally marked this pull request as ready for review January 25, 2025 16:45
@niklasdewally niklasdewally changed the title nik/implement letting/01 encapsulate symbol table refactor(ast)!: refactor SymbolTable interface to hide implementation details Jan 25, 2025
@niklasdewally niklasdewally changed the title refactor(ast)!: refactor SymbolTable interface to hide implementation details refactor(ast)!: refactor SymbolTable interface to hide implementation details Jan 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant