rascal
rascal copied to clipboard
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
Add two functions to `Set` library: 1. `intersection` to get the intersection of multiple sets 2. `isDisjoined` to check if multiple sets are pairwise disjoined
This fails to typecheck: ``` import String; // contains function left data X = nested(list[Y] ys = [Y::left()]); data Y = left() | right() ; ``` with error (on `Y::left`):...
Context: ``` module A import analysis::diff::TextEdits; ``` Exception thrown: ``` |lib://rascal-core/lang/rascalcore/check/Import.rsc|:234,57: "No module scope found for analysis::diff::TextEdits" ``` Stacktrace: ``` at getModuleScope(|lib://rascal-core/lang/rascalcore/check/Import.rsc|(9047,384,,)) at prepareForCompilation(|lib://rascal-core/lang/rascalcore/check/Import.rsc|(10886,38,,)) at rascalTModelForLocs(|lib://rascal-core/lang/rascalcore/check/Checker.rsc|(16482,77,,)) at check(|lib://rascal-core/lang/rascalcore/check/Checker.rsc|(22699,64,,)) at $shell$(|main://$shell$|)...
**Describe the bug** The `nothing()` adt constructor with a generic type fails to correclty type-check, in case of a keyword argument to an ADT. With the following error: `Default expression...
```rascal void main(set[value] y, set[value] z) { if(/int x := y || /int x := z) { println(x); } if ((/int x := y && /x := z) || (/int...
**Describe the bug** Often when I'm typechecking a module, the diag prints this: ``` [WARNING] Monitor of Rascal compiler is over max (29) by 1 [WARNING] Monitor of Rascal compiler...
This PR implements a basic error recoverer and fixes some issues in the existing error recovery support code. The new recoverer is called "ToTokenRecoverer" and tries to find a suitable...
This needs effort to make this work together with our shaded jars.
The SymbolFactory is/was still implementating the escaping and character encoding of SDF2 and not that of Rascal. This produces weird errors with unicode characters and escapes (\a, \u and \U).