Skip to main content

Package Directory


If you would like to share your Rascal library or tool with the community, please open a pull request to add your project to the pom.xml. Currently we require to make a "fork" to help with authentication/authorization for publication on the Maven repository and jumping through minor hoops like running the automated tests and documentation generation. The community's values and guidelines can be found here.

What is the Rascal Package Directory?

The Package Directory provides an overview of libraries, tools and frameworks written in Rascal (and other languages) which are:

  • contributed by the community
  • useful for the community
  • excluding the core language implementation (interpreter, compiler, repl, IDE extensions)

Each package is encapsulated in a jar file, is deployed in the UseTheSource Maven repository, and comes with:

  • License information.
  • Funding information.
  • Citation information.
  • Release notes.
  • Maven dependency example.
  • API documentation, generated from the sources.
  • Optional manual(s) generated using rascal-tutor.

The release and deployment mechanisms that are in place guarantee that:

  • Each package' latest release version is documented here.
  • Each package is tested before release.
  • Each package documents the rascal version it dependend on at the time of release.

If a package was not released (yet) after a major or minor release of rascal, then it may still work with the newest release, but this is not guaranteed. Packages owners are reminded to upgrade and release by the UseTheSource community.

The currently available packages are grouped in two categories: language support, and generic libraries.

Language Support

Language namePackageNote
C and C++clair
JavarascalTo be factored out of the standard library soon
JVM bytecodeflybytesForward and Reverse

Generic Libraries

Library NamePackageNote
Dr AmbiguitydrambiguityInteractive UI based on Salix for detection, diagnostics and fixing of ambiguity context-free grammars.
Salixsalix-coreUser interface framework for Rascal
Salix Contribsalix-contribUseful extensions for Salix
Rascal GITrascal-gitAccessing GIT from Rascal
Rascal LSPrascal-lspLSP for Rascal and LSP generator for DSLs in Rascal
TypepaltypepalGeneric name and type analysis framework; to be factored in to the standard library soon
Rascal Tutorrascal-tutorRascal source code documenter and manual authoring tool; to be factored into the standard library soon