Interpreter icon indicating copy to clipboard operation
Interpreter copied to clipboard

The interpreter for Rhovas, a programming language for API design and enforcement.

Results 8 Interpreter issues
Sort by recently updated
recently updated
newest added

Expression statements currently discard the return value. For functions that return Results, this can result in errors (exceptions) being unintentionally dropped. The likelihood of this is increased due to automatic...

feature
analyzer
low priority

From 668cb47, the order generics are bound when interacting with Dynamic during function resolution changes the result. On further inspection, this is likely caused by Dynamic subtype checks failing to...

bug
typing
high priority

Following 04b3b94, runtime types should now force type erasure. This prevents many of the evaluators runtime checks from being meaningful, most notably with Struct properties (since existence is tied to...

feature
evaluator
library
typing
high priority

Currently, structs use structural subtyping which considers any struct to be a subtype so long as the required fields are present. This is insufficient for handling optional/unknown fields, which is...

feature
typing
medium priority

Statements-as-expressions allows some statements (like `if`/`match`) to be used as expressions that return a value. This could easily be done by simply converting these to expressions and using `Statement.Expression`, however...

feature
parser
analyzer
high priority

Union and intersection types are helpful utilities for composing types. Unions are particularly helpful for addressing simple variations in allowed arguments as well as better type inference. Intersections are less...

feature
analyzer
typing
medium priority

The current codebase is almost entirely undocumented, mainly relying on test cases to clarify expected behavior. This slows down both new features and refactors since they often affect these unstated...

docs
parser
evaluator
analyzer
medium priority

The patterns of a structural match should ensure that they are not already covered by previous cases and that the patterns are exhaustive. This is not an easy problem (hence...

feature
analyzer
medium priority