A compiler for a purely functional programming language with emphasis on structural typing https://giml-lang.org
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
Gil Mizrahi 83a0161577 update stack snapshot hace 2 semanas
examples rewrite even/odd with if expressions hace 6 meses
logos logos hace 7 meses
src Warnings on variable shadowing hace 5 meses
tools/emacs Replace the newtype keyword with type hace 6 meses
website update stack snapshot hace 2 semanas
.gitignore Avoid traversing when substituting with empty substitution hace 7 meses
.gitlab-ci.yml New website layout hace 6 meses
LICENSE Part 01 - define the language skeleton and codegen hace 8 meses
Makefile Logging support hace 5 meses
README.md Warnings on variable shadowing hace 5 meses
cabal.project Add instructions to build with cabal hace 7 meses
cabal.project.freeze update cabal.project.freeze hace 7 meses
dependencies-licenses.md Update dependencies license hace 6 meses
language-ref.org Add variants without an argument hace 6 meses
overview.org Logging support hace 5 meses
run-examples.sh Update examples to Giml hace 7 meses
stack.yaml update stack snapshot hace 2 semanas
stack.yaml.lock update stack snapshot hace 2 semanas
todo.org If expressions hace 6 meses
wishlist.org Warnings on variable shadowing hace 5 meses

README.md

Giml logo Giml

Build status

Giml is a strict, statically typed, purely functional language with emphasis on structural typing.

The compiler currently targets JavaScript, but more backends are planned in the future.

This project is streamed on twitch.tv/suppipi, and past sessions are available on Youtube.

For more information, visit the website.

Build and run

With Stack

> stack run -- compile --input examples/factorial.giml --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 giml -- compile --input examples/factorial.giml --output /tmp/output.js
> node /tmp/output.js
120

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