All Projects → epfldata → sc-public

epfldata / sc-public

Licence: other
Example DSLs for working with SC

Programming Languages

scala
5932 projects
shell
77523 projects

SC Public

This repository contains example Domain-Specific Languages (DSLs) defined using the SC framework.

To learn and develop optimized DSLs using SC, one should first get familiar with some programming language fundamentals, explained in the development process page.

We concretely demonstrate the development process through three toy examples:

  • the List tutorial: using quasiquotes to define lowerings and offline optimizations on a basic List class, and converting it to use simple C-like memory management
  • the Relation tutorial (for SC): using quasiquotes to define transformations for compiling relational algebra queries, specializing them based on Schema information.
  • the Relation tutorial (for squid): using quasiquotes to define transformations for compiling relational algebra queries to a push-based query engine, specializing them based on Schema information, specializing hash-table data-structures, and converting row layout to columnar layout representation.
  • the Vector tutorial: defining a DSL for working with Vectors

Some additional docs are provided in the doc folder.

You can download the binaries of SC here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].