Difference between revisions of "Silmaril"
m |
m |
||
(5 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
** types |
** types |
||
** modules (aka. tables / record types / directories / structs / ML "Functors") |
** modules (aka. tables / record types / directories / structs / ML "Functors") |
||
− | ** parsing constructs (for extensible case analysis) |
||
* Extensible primitive operations (JIT C-compilation) |
* Extensible primitive operations (JIT C-compilation) |
||
* Extensible binary object types (i.e. opaque pointers) |
* Extensible binary object types (i.e. opaque pointers) |
||
Line 13: | Line 12: | ||
This documentation explains how to get up and running with the latest distribution. |
This documentation explains how to get up and running with the latest distribution. |
||
− | To interact with the server, you'll need |
+ | To interact with the server, you'll need an rsa key. The process for creating one is easy: |
+ | <source lang="bash"> |
||
+ | mkdir ~/.sil |
||
+ | chmod 0700 ~/.sil |
||
+ | sil generate "Your Name" "email@example.com" >~/.sil/config |
||
+ | </source> |
||
+ | This will set up your sil environment with a new identity and server. |
||
+ | Next, send your name and public key (from that file) to me by email. |
||
− | sil -a tcp\!rcslurm.usf.edu\!5050 -p pubkey.asc privkey.asc |
||
+ | Now, you are ready to create a new sil project! |
||
+ | From a new directory, run |
||
− | (the backslashes are for bash's benefit) where pubkey and privkey are the ascii-armored, exported keys you created above. You can now read all saved objects and create your own commits. |
||
+ | <source lang="bash"> |
||
+ | echo '"Hello world!"' >hello.sil |
||
+ | git init |
||
+ | git add hello.sil |
||
+ | git commit -am "Initial project." |
||
+ | git remote add --track master origin git@github.com:<username>/<project name>.git |
||
+ | git push |
||
+ | </source> |
||
⚫ | |||
+ | This has created a new project with a simple hello world file. |
||
+ | Next, you can create a home for the project within the hierarchy |
||
+ | at https://www.parallelscience.com/projects. You can either |
||
+ | ask parallelscience to fetch the code from your github repo |
||
+ | or compile the project directly from the command-line using: |
||
+ | |||
+ | <source lang="bash"> |
||
+ | sil compile test.hello/initial |
||
+ | </source> |
||
+ | |||
+ | This will parse the entire commit into sil object code, and sent it to the server. |
||
+ | |||
+ | With setup out of the way, it's time to write some sil code! |
||
+ | You can get started by reading the docs and examples: ([http://predictivestatmech.org/sil/docs/html/]). |
||
⚫ |
Latest revision as of 09:41, 28 July 2017
The Silmaril programming language is built from the ground up for bleeding edge HPC. It has the following, fully automatic, killer features:
- Git-like source code versioning
- Cryptographically secure, distributed filesystem storage
- First-class objects
- functions
- types
- modules (aka. tables / record types / directories / structs / ML "Functors")
- Extensible primitive operations (JIT C-compilation)
- Extensible binary object types (i.e. opaque pointers)
This documentation explains how to get up and running with the latest distribution.
To interact with the server, you'll need an rsa key. The process for creating one is easy: <source lang="bash"> mkdir ~/.sil chmod 0700 ~/.sil sil generate "Your Name" "email@example.com" >~/.sil/config </source> This will set up your sil environment with a new identity and server. Next, send your name and public key (from that file) to me by email.
Now, you are ready to create a new sil project! From a new directory, run
<source lang="bash"> echo '"Hello world!"' >hello.sil git init git add hello.sil git commit -am "Initial project." git remote add --track master origin git@github.com:<username>/<project name>.git git push </source>
This has created a new project with a simple hello world file. Next, you can create a home for the project within the hierarchy at https://www.parallelscience.com/projects. You can either ask parallelscience to fetch the code from your github repo or compile the project directly from the command-line using:
<source lang="bash">
sil compile test.hello/initial
</source>
This will parse the entire commit into sil object code, and sent it to the server.
With setup out of the way, it's time to write some sil code! You can get started by reading the docs and examples: ([1]).