Skip to content
You must be logged in to sponsor usethesource

Become a sponsor to Use The Source

UseTheSource collects the libraries, tools and languages that implement the Rascal Metaprogramming language.

Researchers that code a lot

We are a group of researchers and industrial software engineers originating from Amsterdam, Centrum Wiskunde & Informatica. Over the years some of us have spread out, while others have stayed. The community around Rascal is growing, also because it is being taught at several universities in courses about compilers, software evolution and model driven engineering.

Standing on the shoulders of giants

The language Rascal evolved out of the earlier ASF+SDF Meta-Environment 1 and 2 (1984, 2005) in 2008/2009. Instead of a formal specification language that ASF+SDF was, Rascal is a normal programming language with high-level features for analysis and transformations of source code included. Newcomers with some programming experience are easily introduced to Rascal. It has the design to keep simple things simple, but makes complex and interesting code analyses and transformations possible. The key ingredients are term rewriting and relational calculus, captured in a frame of structured functional programming with immutable data. The semantic web was also an inspiration: URI literals for the loc data-type are builtin to the language. We offer include front-ends for analyzing and transforming source code in programming languages such as Java and C/C++, with high accuracy. Finally, Rascal comes with a commandline REPL, an Eclipse IDE that can generate IDEs for DSLs easily and a VScode clone which does the same for the language server protocol (LSP). We also have experimental Jupyter notebook interfaces.

Continuous Integration, Testing and Deployment is worth gold

If you are interested in funding UseTheSource you should know that we'd use the money to buy resources for continuous integration, testing and deployment such as offered by GitHub Actions. We could buy our own dedicated servers to run these tasks on, or acquire more bandwidth via GitHub's runners. Especially third-party library contributions are welcome to UseTheSource (say new Rascal front-ends for analyzing programming languages). If the community keeps growing, we'll require funding to keep running all of our integrations continuously. Thanks!

1 sponsor has funded usethesource’s work.

@SWAT-engineering

Meet the team

Featured work

  1. usethesource/capsule

    The Capsule Hash Trie Collections Library

    Java 402
  2. usethesource/rascal

    The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)

    Java 391
  3. usethesource/vallang

    Generic immutable recursive data representation API targeted at source code models and more.

    Java 35
  4. usethesource/rascal-eclipse

    Eclipse IMP based IDE for the Rascal meta-programming language. See rascal project for Wiki, Issues and such.

    Java 18
  5. usethesource/rascal-language-servers

    An LSP server for Rascal which includes an easy-to-use LSP generator for languages implemented in Rascal, and an interactive terminal REPL.

    Java 10

Select a tier

$ a month

Choose a custom amount.

$5 a month

Select
  • Get a Sponsor badge on your profile
  • Contribute to our monthly continous integration costs

$50 a month

Select
  • Logo or name on project website
  • Fund almost 100% of our monthly continuous integration costs