An impure, mostly functional, statically type inferred programming language targeting javascript and built on stream. Superseded by Giml https://gilmi.gitlab.io/strema
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Gil Mizrahi 35f2b7b7cc fix a bug with record access on non-existing label 7 个月前
examples Fix pattern matching on booleans 7 个月前
logos logos 7 个月前
src fix a bug with record access on non-existing label 7 个月前
website mention giml 7 个月前
.gitignore adding dante targets 7 个月前
.gitlab-ci.yml Restructure the project into 3 packages 7 个月前
LICENSE Part 01 - define the language skeleton and codegen 8 个月前
Makefile Restructure the project into 3 packages 7 个月前
README.md mention giml 7 个月前
cabal.project Add instructions to build with cabal 7 个月前
cabal.project.freeze Add instructions to build with cabal 7 个月前
language-ref.org update docs for sub -> block name change 7 个月前
overview.org update docs for sub -> block name change 7 个月前
stack.yaml Restructure the project into 3 packages 7 个月前
stack.yaml.lock Part 01 - define the language skeleton and codegen 8 个月前
todo.org Adding a few more comments to the Infer module 7 个月前

README.md

strema

Note: See Giml for further development instead

Build status

A compiler targeting javascript for a custom type inferred programming language with first class functions, ADTs and pattern matching.

Status: WIP toy proglang

Strema logo

logos adapted from “Rad Pack – 80’s Theme” Wallpapers by Nate Wren (CC BY-NC 4.0)

This project is streamed on twitch.tv/suppipi. For more information visit the webpage.

Build and run

With Stack

> stack run -- compile --input examples/factorial.strm --output /tmp/output.js
> node /tmp/output.js # use node to run the program
120

With Cabal+GHC:

> cabal v2-update
> cabal v2-build all
> cabal v2-run stremac -- compile --input examples/factorial.strm --output /tmp/output.js
> node /tmp/output.js
120