-
LMS: Program Generation and Embedded Compilers in Scala
Slides and additional materials are available from the links above.
The Summer of LMS: We have conducted focused hackathons with specific themes:
2014: stability, polishing, documentation.
2016: focus...
-
start.scala
start.scala
Staging and LMS
What is staging? The idea behind staging is to delay computation of
certain expressions, generating code to compute them later. The
benefit is
abstraction without regret: ...
-
index.scala
index.scala
Outline:
git clone https://github.com/scala-lms/tutorials.git
Check the
Why Generative Programming ?
Because it enables
abstraction without regret: the key idea is to write very high-le...
-
02_basics.scala
02_basics.scala
Generative Programming Basics
Previous staging approaches either work directly with strings that represent
concrete program syntax or make use of quasiquoting to compose abstract synta...
-
04_atwork.scala
04_atwork.scala
Outline:
LMS is a dynamic multi-stage programming approach: We have the full Scala
language at our disposal to compose fragments of object code. In fact, DSL
programs are program
gene...
-
01_overview.scala
01_overview.scala
Productivity vs Performance
One of the biggest challenges in software development today is that software performance is increasingly at odds with programmer productivity. This proble...