All Projects → sfultong → stand-in-language

sfultong / stand-in-language

Licence: Apache-2.0 License
a simple total pure functional language, eventually to have powerful static checking and optimization

Programming Languages

haskell
3896 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to stand-in-language

relite
a redux-like library for managing state with simpler api
Stars: ✭ 60 (+130.77%)
Mutual labels:  pure-function
You Dont Need Momentjs
List of functions which you can use to replace moment.js + ESLint Plugin
Stars: ✭ 12,480 (+47900%)
Mutual labels:  pure-function

Stand-in Language

The Non-Turing Complete Language that helps you reason about termination time and other metrics

Join the chat at https://gitter.im/stand-in-language/Lobby

A virtual machine with a simple grammar evolved from simply typed lambda calculus, that eventually will have powerful static checking and an optimizing backend.

Warning

This proyect is in active development. Do expect bugs and general trouble, and please let us know if you run into any by creating a new issue if one does not already exist.

Quick Start

  1. Clone this repository and change directory to it:
    $ git clone https://github.com/sfultong/stand-in-language.git
    $ cd stand-in-language
    
  2. Install Nix:
    $ curl https://nixos.org/nix/install | sh
    
  3. Enter a Nix shell. This will setup an enviroment where all external dependancies will be available (such as cabal for building):
    $ nix-shell shell.nix
    
  4. Build the proyect:
    $ cabal v2-build
    
  5. Run the tictactoe example and start playing with a friend:
    $ cabal v2-run sil-exe
    

Running your own SIL code

  1. Create your own file with the sil code
  2. Modify the last uncommented line to reference your file.
    Strict.readFile "<your-sil-code-file>.sil" >>= runMain
  3. Run:
    $ cd <your/local/proyect/location>/stand-in-language
    $ nix-shell shell.nix
    $ cabal v2-build
    $ cabal v2-run sil-exe
    

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

Links

  1. A Better Model of Computation by Sfultong
  2. SIL: Explorations in non-Turing Completeness by Sfultong
  3. Deconstructing Lambdas, Closures and Application by Sfultong
  4. Join the community's chat

Licensing

The code in this project is licensed under the Apache License 2.0. For more information, please refer to the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].