Skip to content
New issue

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

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

Already on GitHub? # to your account

Type checker #346

Merged
merged 326 commits into from
Aug 26, 2023
Merged

Type checker #346

merged 326 commits into from
Aug 26, 2023

Conversation

edwardpeters
Copy link
Contributor

@edwardpeters edwardpeters commented Aug 22, 2023

Adds support for more real type checking to evaluation process.
Also did a lot of cleanup and minor fixes. A couple more substantial changes were called for:

-A much more complete (though still not 100%) type checker now runs on the actual IR node to be evaluated, immediately prior to evaluation. This may be turned off through the RTExecutionContext.Options passed to the evaluation's ZPure env.

  • All evaluator entry points other than the single-arg "IR" function now take a param and a varargs of param. This lets you call the evaluator with multiple arguments. It does preclude calling an entry point defined as an FQName with no arguments, but I don't think that's a real use case (and support could be added if necessary)
  • (@DamianReeves ) A duplicate definition of MorphirRuntimeError was causing namespace issues. I think it was only there as a placeholder for in-development ZPure work, so to avoid the namespace conflict I renamed that error type to RTError and wrapped its members in an object.

@edwardpeters edwardpeters marked this pull request as ready for review August 25, 2023 15:04
@DamianReeves DamianReeves merged commit 7f6e235 into finos:main Aug 26, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants