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)
#### Issues Sometimes, `solve` returns a value. Sometimes, it doesn't. 1. The precise circumstances when a value is returned, don't seem to be [documented](https://www.rascal-mpl.org/docs/Rascal/Statements/Solve/). 2. When `solve` doesn't return a...
**Setting the stage** Module `vis::Graphs` contains a data declaration that goes like this (heavily abbreviated): ``` data CytoLayout(CytoLayoutName name = dagre(), bool animate=false) = cytolayout() | breadthfirstLayout(CytoLayoutName name = CytoLayoutName::breadthfirst(),...
When doing a transforming visit on a parse tree, rewriting a nested element, the enclosing tree (trees?) don't get their source locations back. Strangely enough, adding a dummy case for...
**Describe the bug** The typechecker reports a 'unused pattern variable' warning on a used pattern variable **To Reproduce** Unfortunately, I have not been able to reproduce this in a smaller...
**Describe the bug** The typechecker throws an error on overloaded function definitions where the type parameters have different names in the various overloads. **To Reproduce** ``` list[&U] repeatn(&U elt, int...
**Describe the bug** A function that only throws an exception, is expected to have return type `bool`. **To Reproduce** ``` str f() = { throw "Not implemented"; // error: Return...
All uses of non-unicode codepoint methods of java.lang.String like charAt and length and substring are potentially broken. It makes sense to check them all. We could use java M3 on...
``` rascal>charAt("🍝", 0) int: 127837 rascal>char(127837) [🍝]: ([🍝]) `🍝` rascal>#[🍝] type[[?]]: type( \char-class([range(55356,55356)]),... ``` So the unicode codepoint `127837` is the right codepoint for `🍝`, but type-reification in a character...
When assigning a default value of `nothing()` to a field of type `Maybe[int]`, the type checker throws an error that the type do not match. The same does not happen...
1. Open the [typepal](https://github.com/usethesource/typepal/tree/165bfab9817e54ab243cd1ae6c2c10fb61b1cb1b) workspace 2. Make sure to remove the `target` folder 3. Open `src/analysis/typepal/TypePal.rsc`. 4. Save the file (`ctrl`+`S`) The type checker will start checking several modules. It...