Lightweight Modular Staging (LMS) is a runtime code generation approach. This framework, LMS-Core, provides a library of core components for building high performance code generators and embedded compilers in Scala.
Closely related projects are Delite, a framework for heterogeneous parallel domain specific languages (DSLs), and Scala-Virtualized, a set of minimal extensions to the Scala compiler to make embedding DSLs more seamless.
This is branch macro-trans
. It uses an unmodified Scala 2.11 compiler and
a set of macros to virtualize conditionals, variables, etc.
All of this is still experimental.
-
Get and install the Scala-Virtualized macros:
git clone -b scala-virtualized https://github.com/scala-lms/summer-of-lms-2014.git scala-virtualized
cd scala-virtualized; sbt publish-local
-
See here for the diff to
develop
:
-
Install the SBT build tool.
-
Run
sbt test
to run the test suite. -
Run
sbt publish-local
to install LMS-Core for use in other projects.
Copyright 2010-2014, EPFL. Licensed under the revised BSD License.