The SubScript extension to the Scala programming language
Clone or download
Pull request Compare This branch is 278 commits ahead, 7323 commits behind scala:2.13.x.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gradle/2.1/taskArtifacts
META-INF
doc
docs
lib
project
scripts
spec
src
test
tools
.gitattributes
.gitignore
.mailmap
.travis.yml
CONTRIBUTING.md
Gemfile
README.md
bincompat-backward.whitelist.conf
bincompat-forward.whitelist.conf
build-ant-macros.xml
build.gradle
build.number
build.xml
dbuild-meta.json
gitconfig.SAMPLE
gitignore.SAMPLE
pull-binary-libs.sh
push-binary-libs.sh
scala.iml
versions.properties

README.md

This is the repository for the Scala Programming Language.

Also in this branch is the language extension named SubScript. For information about SubScript, you can visit the web site:

##SubScript Compiler issues The current SubScript compiler (a branch of scalac) is good enough to compile the given example programs, but there are some limitations and bugs:

  • Only language features used in the examples are present and tested. Other features, most notably communication, is TBD

  • here and there are not yet implicit values. Therefore you would need to write things like @{gui(there)}: instead of @gui

  • Local values and variables in scripts need both be typed and initialized. E.g., val b=true is not accepted yet; instead write val b:Boolean = true

  • The "?" syntax for actual output parameters, actual constrained parameters and actual adapting parameters are not yet completely handled. For the time being you may have to use alternative notations. E.g.,

?p           ==>   ActualOutputParameter     (p, (v:Int)=>p=v)
?p ?if(cond) ==>   ActualConstrainedParameter(p, (v:Int)=>p=v, (v:Int)=>cond)
??p          ==>   ActualAdaptingParameter   (_p)
Note the underscore in the latter line.
  • The compiler may crash on values in a script expression for which no implicit conversion to a script exist. This may for instance happen if you specify x in a script expression to denote an event that the x key is pressed, and if you forgot to provide an implicit script key(c:Char)

##Note on the repository layout Follows the file layout of the Scala repository. Two folders have been added for SubScript:

scala/
    src/                      All the source files of Scala.
        subscript/            The sources of the core SubScript library.
        subscript/examples    The sources of SubScript example applications

Note: the file subscript.swing.Scripts uses the SubScript syntax and can therefore not be compiled with the starr compiler; it needs to be compiled with the locker compiler or quick compiler.

SubScript examples are not built with the usual ant targets.

##Contributing to SubScript

Contributors are welcome. The official SubScript website is: www.subscript-lang.org.

As of writing there are no mailing lists, and bug and issue trackers.

Thank you!

The SubScript Team