The Scala Programming Language: Virtualized
Clone or download
Pull request Compare This branch is 5 commits ahead, 14910 commits behind scala:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Scala-Virtualized is an experimental branch of the Scala compiler and standard library that contains a few additions to provide even better support for embedded DSLs (we call that language virtualization).

The key features are as follows:

  • overloadable while-loops, if-then-else statements, object construction, etc. (not only for-comprehensions)
  • extension methods: define new infix-methods on existing types (pimp-my-library with less boilerplate)

Further descriptions and examples are available on the Scala-Virtualized Wiki.

An accompanying technial paper has even more in-depth information: pdf preprint, published version.

Tutorial source code is available at

How to Use it

Here is a sample build.sbt file for use with the Simple Build Tool (SBT):

name := "My Scala-Virtualized Project"
version := "1.0"
scalaVersion := "2.11.2"
scalaOrganization := "org.scala-lang.virtualized"

Releases of Scala-Virtualized are binary compatible with the corresponding regular Scala release.

Note: The code in this repository is no longer up to date and kept for archival purposes only. Up-to-date sources live in branch topic-virt here.