Difference between revisions of "SAPL"
Line 16: | Line 16: | ||
Compiling Clean or Haskell to JavaScript consists of three easy steps. First, you need to compile | Compiling Clean or Haskell to JavaScript consists of three easy steps. First, you need to compile | ||
the necessary source code modules to the SAPL language. The execution of this step depends on the source language you would like to use. | the necessary source code modules to the SAPL language. The execution of this step depends on the source language you would like to use. | ||
− | Instructions for Clean and Haskell/GHC can be found at [[]] and [[]], respectively. | + | Instructions for Clean and Haskell/GHC can be found at [[SAPL/Clean]] and [[SAPL/GHC]], respectively. |
The second step is to collect and combine, starting with some root expressions, the necessary functions recursively | The second step is to collect and combine, starting with some root expressions, the necessary functions recursively | ||
Line 27: | Line 27: | ||
It links for the '''main''' function in the module called '''Main''' and collects all the necessary functions into the '''out.sapl''' file. | It links for the '''main''' function in the module called '''Main''' and collects all the necessary functions into the '''out.sapl''' file. | ||
− | The module search path is the '''build''' directory in the current directory. | + | The module search path is the '''build''' directory in the current directory. Multiple root expressions and include directories can be provided. For the other command line arguments please refer to: |
+ | |||
+ | <pre> | ||
+ | sl --help | ||
+ | </pre> | ||
+ | |||
Revision as of 11:59, 3 January 2014
SAPL is a purely functional, intermediate language and related infrastructure for supporting cross-compilation of lazy functional languages to different target platforms. It currently supports Clean and Haskell/GHC as source languages and provides JavaScript as target platform, however a DART target is under development. SAPL is extensively used in the ITasks project, furthermore various GHC based projects are experimenting with SAPL. Getting startedSo far, no official version of the SAPL compiler infrastructure is released. The current development version can be checked out from https://svn.cs.ru.nl/repos/clean-sapl. Build instructions can be found at SAPL/Build ToolsCompiling Clean or Haskell to JavaScript consists of three easy steps. First, you need to compile the necessary source code modules to the SAPL language. The execution of this step depends on the source language you would like to use. Instructions for Clean and Haskell/GHC can be found at SAPL/Clean and SAPL/GHC, respectively. The second step is to collect and combine, starting with some root expressions, the necessary functions recursively into one SAPL file. Engaging on this linking step helps with reducing the final code size as much as possible. The linking is done using the sl command. A simple example for its usage is as follows: sl --include-dir=build --expr=Main.main out.sapl It links for the main function in the module called Main and collects all the necessary functions into the out.sapl file. The module search path is the build directory in the current directory. Multiple root expressions and include directories can be provided. For the other command line arguments please refer to: sl --help
|
News
|