Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
eeaf4bc
Run CI on all feature branches.
toinehartman Jul 15, 2026
fa40755
Rename current runtime resolver.
toinehartman Jul 17, 2026
3c038e5
Remove `std:///` from Rascal path config."
toinehartman Jul 15, 2026
78c3c58
Remove `std:///` from Rascal-LSP path config.
toinehartman Jul 15, 2026
e337ef1
Remove `std:///` from regular project's path config.
toinehartman Jul 17, 2026
6d3b185
Replace `std:///` on evaluator search path.
toinehartman Jul 17, 2026
30a9a8e
Replace uses of std:/// in Rascal code.
toinehartman Jul 17, 2026
ee58f72
Disable resolver for `std:///`.
toinehartman Jul 17, 2026
64173b4
Package stdlib locations as `mvn://`
toinehartman Jul 15, 2026
1e324e3
Replace another std loc with project.
toinehartman Jul 17, 2026
f208de3
[maven-release-plugin] prepare release v0.43.0-RC9-PREVIEW1
rodinaarssen Jul 17, 2026
acde947
Set version to next snapshot
rodinaarssen Jul 18, 2026
939f22b
Jarify/mavenize as much as possible.
toinehartman Jul 20, 2026
6a8b4b2
[maven-release-plugin] prepare release v0.43.0-RC9-PREVIEW2
toinehartman Jul 22, 2026
acbe56d
Set version to next snapshot.
toinehartman Jul 22, 2026
29690e0
Also type-check against stdlib from POM.
toinehartman Jul 23, 2026
9775112
Get keywords from auto-complete from stdlib.
toinehartman Jul 23, 2026
f800bfe
Properly unsupport std scheme.
toinehartman Jul 27, 2026
eed2384
Fix search path order.
toinehartman Jul 27, 2026
6d18180
Expose Maven parsing and resolution for use in Rascal LSP.
toinehartman Jul 28, 2026
6dd7221
[maven-release-plugin] prepare release v0.43.0-RC9-PREVIEW3
rodinaarssen Jul 29, 2026
ce822ec
Set to next snapshot version
rodinaarssen Jul 29, 2026
78e4c11
Fix broken path config constructor.
toinehartman Jul 30, 2026
0cd347d
Annotate nullability of source location response.
toinehartman Jul 30, 2026
78df980
[maven-release-plugin] prepare release v0.43.0-RC9-PREVIEW4
toinehartman Jul 30, 2026
ba81e03
Set to next snapshot version.
toinehartman Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ on:
pull_request:
branches:
- main
- 'feat/*'
- 'feat/**'
- 'feature/**'
env:
MAVEN_OPTS: "-Xmx4G -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
IS_OWN_PR: "${{ secrets.MAVEN_MIRROR_URL }}"
Expand Down
5 changes: 2 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

<groupId>org.rascalmpl</groupId>
<artifactId>rascal</artifactId>
<version>0.43.0-RC9-SNAPSHOT</version>
<version>0.43.0-RC9-PREVIEW5-SNAPSHOT</version>
<packaging>jar</packaging>

<scm>
<developerConnection>scm:git:ssh://git@github.com/usethesource/rascal.git</developerConnection>
<tag>v0.43.0-RC2-SNAPSHOT</tag>
<tag>v0.43.0-RC9-PREVIEW4</tag>
</scm>

<!-- dependency resolution configuration (usethesource) -->
Expand Down Expand Up @@ -201,7 +201,6 @@
<srcs>
<src>${project.basedir}/src/org/rascalmpl/library</src>
</srcs>
<sourceLookup>|std:///|</sourceLookup>
</configuration>
</execution>
</executions>
Expand Down
2 changes: 1 addition & 1 deletion src/org/rascalmpl/compiler/CheckTestSources.rsc
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ void checkTestSources(list[str] cmdLineArgs) {
if("all" in cmdLineArgs){
modulesToCheck = getRascalModules(REPO + "rascal/src/org/rascalmpl/library", pcfg);
} else {
testFolders = [ //|std:///lang/rascal/tests|,
testFolders = [ //|project://rascal/src/org/rascalmpl/library/lang/rascal/tests|,
//REPO + "/rascal-core/lang/rascalcore/check::tests",
REPO + "/typepal/src/"
];
Expand Down
2 changes: 1 addition & 1 deletion src/org/rascalmpl/compiler/CompileTestSources.rsc
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ void compileTestSources(PathConfig pcfg) {
// total += d;
//}

testFolder = |std:///lang/rascal/|;
testFolder = |project://rascal/src/org/rascalmpl/library/lang/rascal/|;

testModules = [ replaceAll(file[extension=""].path[1..], "/", "::")
| loc file <- find(testFolder, "rsc") // all Rascal source files
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,14 @@ public loc testModulesRoot = testRoot + "src";
private int npc = 0;
@synopsis{PathConfig for testing generated modules in |memory://test-modules/| in memory file system, not depending on any outside libraries.}
@description{
* gets source files exclusively from |memory://test-modules/| and |std:///| (for library code)
* gets source files exclusively from |memory://test-modules/| and |project://rascal/src/org/rascalmpl/library/| (for library code)
* generates bin files in the in-memory file system
}
public PathConfig getDefaultTestingPathConfig() {
npc += 1;
snpc = "<npc>";
return pathConfig(
srcs = [ testModulesRoot, |std:///| ],
srcs = [ testModulesRoot, |project://rascal/src/org/rascalmpl/library/| ],
bin = testRoot + "rascal-tests-bin-<snpc>",
generatedSources = testRoot + "generated-test-sources-<snpc>",
generatedResources = testRoot + "generated-test-resources-<snpc>",
Expand Down
10 changes: 5 additions & 5 deletions src/org/rascalmpl/compiler/lang/rascalcore/compile/AREADME.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@ config void config( // Inspect type checker configuration file
Query select = none()) // Query to define what to show
Examples:

compile(|std:///experiments/Compiler/Examples/Fac.rsc|);
compile(|project://rascal/src/org/rascalmpl/library/experiments/Compiler/Examples/Fac.rsc|);

execute(|std:///experiments/Compiler/Examples/Fac.rsc|, []);
execute(|std:///experiments/Compiler/Examples/Fac.rsc|, [], recompile=true);
execute(|std:///experiments/Compiler/Examples/Fac.rsc|, [], profile=true);
execute(|project://rascal/src/org/rascalmpl/library/experiments/Compiler/Examples/Fac.rsc|, []);
execute(|project://rascal/src/org/rascalmpl/library/experiments/Compiler/Examples/Fac.rsc|, [], recompile=true);
execute(|project://rascal/src/org/rascalmpl/library/experiments/Compiler/Examples/Fac.rsc|, [], profile=true);

inspect(|std:///experiments/Compiler/Examples/Fac.rsc|)
inspect(|project://rascal/src/org/rascalmpl/library/experiments/Compiler/Examples/Fac.rsc|)


Directory structure:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import util::Reflective;
value main() = compareAll();

value compareAll() {
moduleLoc = |std:///experiments/Compiler/Rascal2muRascal/RascalExpression.rsc|;
moduleLoc = |project://rascal/src/org/rascalmpl/library/experiments/Compiler/Rascal2muRascal/RascalExpression.rsc|;
//moduleLoc = |project://rascal/src/org/rascalmpl/library/experiments/Compiler/Examples/Tst3.rsc|;
m = parse(#start[Module], moduleLoc).top;
t = cpuTime();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ value main()

value measure(){

//moduleLoc = |std:///lang/rascal/syntax/Rascal.rsc|;
moduleLoc = |std:///experiments/Compiler/RVM/AST.rsc|;
//moduleLoc = |std:///experiments/Compiler/RVM/Syntax.rsc|;
//moduleLoc = |std:///experiments/Compiler/muRascal/Syntax.rsc|;
//moduleLoc = |std:///experiments/Compiler/muRascal/AST.rsc|;
//moduleLoc = |std:///demo/lang/Pico/Syntax.rsc|;
//moduleLoc = |std:///demo/lang/Exp/Concrete/NoLayout/Syntax.rsc|;
//moduleLoc = |project://rascal/src/org/rascalmpl/library/lang/rascal/syntax/Rascal.rsc|;
moduleLoc = |project://rascal/src/org/rascalmpl/library/experiments/Compiler/RVM/AST.rsc|;
//moduleLoc = |project://rascal/src/org/rascalmpl/library/experiments/Compiler/RVM/Syntax.rsc|;
//moduleLoc = |project://rascal/src/org/rascalmpl/library/experiments/Compiler/muRascal/Syntax.rsc|;
//moduleLoc = |project://rascal/src/org/rascalmpl/library/experiments/Compiler/muRascal/AST.rsc|;
//moduleLoc = |project://rascal/src/org/rascalmpl/library/demo/lang/Pico/Syntax.rsc|;
//moduleLoc = |project://rascal/src/org/rascalmpl/library/demo/lang/Exp/Concrete/NoLayout/Syntax.rsc|;
m = parse(#start[Module], moduleLoc).top;
stats = ();
nonterm = {};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
*******************************************************************************/
package org.rascalmpl.interpreter.load;

import java.util.List;
import java.util.Queue;

import io.usethesource.vallang.ISourceLocation;

public interface IRascalSearchPathContributor {
void contributePaths(List<ISourceLocation> path);
void contributePaths(Queue<ISourceLocation> path);
String getName();
}
12 changes: 8 additions & 4 deletions src/org/rascalmpl/interpreter/load/RascalSearchPath.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,16 @@
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

import org.rascalmpl.interpreter.Configuration;
import org.rascalmpl.uri.URIResolverRegistry;
import org.rascalmpl.uri.URIUtil;

import io.usethesource.vallang.ISourceLocation;

/**
Expand All @@ -41,7 +44,8 @@ public RascalSearchPath() {
}

public void addPathContributor(IRascalSearchPathContributor contrib) {
if(!contributors.contains(contrib)){
if (!contributors.contains(contrib)) {
// Later contributors take precedence over earlier ones. Insert at the front.
contributors.add(0, contrib);
}
}
Expand Down Expand Up @@ -103,12 +107,12 @@ public ISourceLocation getRootForModule(String module) {
}
}

public List<ISourceLocation> collect() {
List<ISourceLocation> paths = new LinkedList<ISourceLocation>();
public Collection<ISourceLocation> collect() {
Queue<ISourceLocation> paths = new LinkedList<ISourceLocation>();
for (IRascalSearchPathContributor c : contributors) {
c.contributePaths(paths);
}

return paths;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.rascalmpl.interpreter.load;

import java.util.List;
import java.util.Queue;

import io.usethesource.vallang.IList;
import io.usethesource.vallang.ISourceLocation;
Expand All @@ -18,9 +18,9 @@ public SourceLocationListContributor(String label, IList sourceLocations) {
}

@Override
public void contributePaths(List<ISourceLocation> path) {
public void contributePaths(Queue<ISourceLocation> path) {
for (IValue elem : locs) {
path.add(((ISourceLocation) elem));
path.add((ISourceLocation) elem);
}
}

Expand Down
54 changes: 0 additions & 54 deletions src/org/rascalmpl/interpreter/load/StandardLibraryContributor.java

This file was deleted.

6 changes: 3 additions & 3 deletions src/org/rascalmpl/interpreter/load/URIContributor.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*******************************************************************************/
package org.rascalmpl.interpreter.load;

import java.util.List;
import java.util.Queue;

import io.usethesource.vallang.ISourceLocation;

Expand All @@ -30,8 +30,8 @@ public String getName() {
}

@Override
public void contributePaths(List<ISourceLocation> path) {
path.add(0, uri);
public void contributePaths(Queue<ISourceLocation> path) {
path.add(uri);
}

@Override
Expand Down
10 changes: 5 additions & 5 deletions src/org/rascalmpl/library/IO.rsc
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ import IO;

Does the library file `IO.rsc` exist?
```rascal-shell,continue
exists(|std:///IO.rsc|);
exists(|project://rascal/src/org/rascalmpl/library/IO.rsc|);
```
}
@javaClass{org.rascalmpl.library.Prelude}
Expand All @@ -218,7 +218,7 @@ import IO;
```
Find the file `IO.rsc` in the standard library:
```rascal-shell,continue
find("IO.rsc", [|std:///|]);
find("IO.rsc", [|project://rascal/src/org/rascalmpl/library/|]);
```
}
public loc find(str name, list[loc] path) throws PathNotFound {
Expand Down Expand Up @@ -367,7 +367,7 @@ import IO;
```
Determine the last modification date of the Rascal standard library:
```rascal-shell,continue
lastModified(|std:///IO.rsc|);
lastModified(|project://rascal/src/org/rascalmpl/library/IO.rsc|);
```
}
@javaClass{org.rascalmpl.library.Prelude}
Expand All @@ -384,7 +384,7 @@ import IO;
```
Determine the last modification date of the Rascal standard library:
```rascal-shell,continue
created(|std:///IO.rsc|);
created(|project://rascal/src/org/rascalmpl/library/IO.rsc|);
```
}
@javaClass{org.rascalmpl.library.Prelude}
Expand Down Expand Up @@ -412,7 +412,7 @@ import IO;
```
List all entries in the standard library:
```rascal-shell,continue
listEntries(|std:///|);
listEntries(|project://rascal/src/org/rascalmpl/library/|);
```
}
@javaClass{org.rascalmpl.library.Prelude}
Expand Down
4 changes: 2 additions & 2 deletions src/org/rascalmpl/library/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ println("Hello Rascal!");

The ((Library:module:IO)) module is otherwise most commonly used, because it contains ((println)).

The standard library has its own location scheme `std:///` which can be used to explore
The standard library has its own location scheme `project://rascal/src/org/rascalmpl/library/` which can be used to explore
its folder structure on the REPL. Note that source locations have auto-complete for the path component.

```rascal-shell
|std:///|.ls
|project://rascal/src/org/rascalmpl/library/|.ls
```

These are the entry points to the entire library:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import Set;
value main() = compare3();

value compare1() {
INT = split("\n", readFile(|std:///lang/rascal/grammar/tests/generated_parsers/CParserINT.java|));
COMP = split("\n", readFile(|std://lang/rascal/grammar/tests/generated_parsers/CParserCOMP.java|));
INT = split("\n", readFile(|project://rascal/src/org/rascalmpl/library/lang/rascal/grammar/tests/generated_parsers/CParserINT.java|));
COMP = split("\n", readFile(|project://rascal/src/org/rascalmpl/library/lang/rascal/grammar/tests/generated_parsers/CParserCOMP.java|));

INTSET = toSet(INT);
COMPSET = toSet(COMP);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -307,16 +307,16 @@ bool sameLines(str s1, str s2) = size(removeEmptyLines(s1) - removeEmptyLines(s2

test bool tstNewGenerateGEMPTY() =
sameLines(newGenerate("org.rascalmpl.library.lang.rascal.grammar.tests.generated_parsers", "GEMPTYParser", GEMPTY),
readFile(|std:///lang/rascal/grammar/tests/generated_parsers/GEMPTYParser.java.gz|));
readFile(|project://rascal/src/org/rascalmpl/library/lang/rascal/grammar/tests/generated_parsers/GEMPTYParser.java.gz|));

test bool tstNewGenerateG0() =
sameLines(newGenerate("org.rascalmpl.library.lang.rascal.grammar.tests.generated_parsers", "G0Parser", G0),
readFile(|std:///lang/rascal/grammar/tests/generated_parsers/G0Parser.java.gz|));
readFile(|project://rascal/src/org/rascalmpl/library/lang/rascal/grammar/tests/generated_parsers/G0Parser.java.gz|));

test bool tstNewGenerateGEXP() =
sameLines(newGenerate("org.rascalmpl.library.lang.rascal.grammar.tests.generated_parsers", "GEXPParser", GEXP),
readFile(|std:///lang/rascal/grammar/tests/generated_parsers/GEXPParser.java.gz|));
readFile(|project://rascal/src/org/rascalmpl/library/lang/rascal/grammar/tests/generated_parsers/GEXPParser.java.gz|));

test bool tstNewGenerateGEXPPRIO() =
sameLines(newGenerate("org.rascalmpl.library.lang.rascal.grammar.tests.generated_parsers", "GEXPPRIOParser", GEXPPRIO),
readFile(|std:///lang/rascal/grammar/tests/generated_parsers/GEXPPRIOParser.java.gz|));
readFile(|project://rascal/src/org/rascalmpl/library/lang/rascal/grammar/tests/generated_parsers/GEXPPRIOParser.java.gz|));
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public bool testModules(list[loc] files, list[loc] _) {
}


public test bool StandardLibrary() = testModules([f | /file(f) <- crawl(|std:///|), f.extension == "rsc", /experiments/ !:= f.path], []);
public test bool StandardLibrary() = testModules([f | /file(f) <- crawl(|project://rascal/src/org/rascalmpl/library/|), f.extension == "rsc", /experiments/ !:= f.path], []);

public test bool testTutor() = testModules([f | /file(f) <- crawl(|tutor:///|), f.extension == "rsc"], [|tutor:///|]);

Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ test bool isDefinedLoc1() = |project://x/y.txt|(5,4,<1,5>,<1,9>).begin?;
test bool isDefinedLoc2() = |project://x/y.txt|(5,4,<1,5>,<1,9>).end?;
test bool isDefinedLoc3() = !(|project://x/y.txt|(5,4,<1,5>,<1,9>).host?);

test bool isDefinedLoc4() = !(|std:///List.rsc|.ls?);
test bool isDefinedLoc5() = |std:///util|.ls?;
test bool isDefinedLoc4() = !(|project://rascal/src/org/rascalmpl/library/List.rsc|.ls?);
test bool isDefinedLoc5() = |project://rascal/src/org/rascalmpl/library/util|.ls?;

// Lists

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ PathConfig getTestPathConfig(loc root) {
pcfg = getProjectPathConfig(root);
pcfg.bin = root + "target/classes";
// remove std to avoid generating parsers for all modules in the library that contain syntax definitions
pcfg.srcs -= [|std:///|];
pcfg.srcs -= [|project://rascal/src/org/rascalmpl/library/|];
return pcfg;
}

Expand Down
Loading
Loading