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

Updates to built-in types interface, fixes to problematic dependencies, and improved matching in peval #806

Closed
wants to merge 4 commits into from

Conversation

br4sco
Copy link
Contributor

@br4sco br4sco commented Nov 12, 2023

This PR:

  • Changes the interface of the default symbolize and type-check environments so that it is easier to extend the built-in types. A change that might affect other projects using the miking compiler is that symEnvEmpty is now called symEnvDefault to reflect that the default environment contains the built-in types in MExpr. Similarly, _tcEnvEmpty is renamed to typcheckEnvDefault to also indicate that it is public. Fore each environment there is a empty version that is truly empty and there is a function {sym,typcheck}EnvAddBuiltinTypes to more conveniently add builtin types to the environments.
  • Removes an unused include in keyword-maker.mc that broke the the lexer when including both parser/lexer.mc and keyword-maker.mc. It is typically a bad idea to duplicate the names of language fragments with different implementations as is the case for parser/lexer.mc and mexpr/parser.mc when the include order is hard to control/foresee.
  • Improves matching in peval.mc and fixes a possible bug with incorrect name capturing.

@br4sco br4sco closed this Nov 16, 2023
@br4sco br4sco deleted the eoo-updates branch November 16, 2023 14:19
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