README.md 1.26 KB
Newer Older
gilmi's avatar
gilmi committed
1
# <a href="https://giml-lang.org"><img src="https://assets.gitlab-static.net/uploads/-/system/project/avatar/25082385/lambda-round-small.png?width=32" alt="Giml logo" style="vertical-align:middle;"> Giml</a>
2

gilmi's avatar
gilmi committed
3
![Build status](https://gitlab.com/gilmi/giml-lang/badges/main/pipeline.svg?job=pipeline)
4

gilmi's avatar
gilmi committed
5
Giml is a strict, statically typed, purely functional language with emphasis on structural typing.
6

gilmi's avatar
gilmi committed
7
The compiler currently targets JavaScript, but more backends are planned in the future.
gilmi's avatar
logos    
gilmi committed
8

gilmi's avatar
gilmi committed
9
This project is streamed on [twitch.tv/suppipi](https://twitch.tv/suppipi), and past sessions are available on [Youtube](https://www.youtube.com/watch?list=PLhMOOgDOKD4IkQM75GkAnXI-fpIrDAnsu&v=khAKcFgziWU).
gilmi's avatar
logos    
gilmi committed
10

gilmi's avatar
gilmi committed
11
For more information, visit the [website](https://giml-lang.org).
gilmi's avatar
logos    
gilmi committed
12
13
14

## Build and run

gilmi's avatar
gilmi committed
15
### With [Stack](https://haskellstack.org)
gilmi's avatar
logos    
gilmi committed
16
17

```sh
gilmi's avatar
gilmi committed
18
> stack run -- compile --input examples/factorial.giml --output /tmp/output.js
gilmi's avatar
gilmi committed
19
20
21
22
> node /tmp/output.js # use node to run the program
120
```

23
### With [Cabal+GHC](https://www.haskell.org/ghcup):
gilmi's avatar
gilmi committed
24
25

```sh
26
> cabal v2-update
gilmi's avatar
gilmi committed
27
> cabal v2-build all
gilmi's avatar
gilmi committed
28
> cabal v2-run giml -- compile --input examples/factorial.giml --output /tmp/output.js
gilmi's avatar
gilmi committed
29
30
> node /tmp/output.js
120
gilmi's avatar
logos    
gilmi committed
31
32
```

gilmi's avatar
gilmi committed
33
34
35
36

## Logo

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