Skip to content
Example DSLs for working with SC
Scala Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
list-dsl
relation-dsl-sc
relation-dsl-squid
vector-dsl
.gitignore
README.md

README.md

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.

You can’t perform that action at this time.