summaryrefslogtreecommitdiff
path: root/README.md
blob: 70a58f07706b44b1558630ef8108d8a4028e14fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# flint

flint (**F**unny **L**anguage **INT**erpeter) is a collection of interpeters and compiliers for various esoteric programming languages.

## Languages

### Languages that flint currently supports:

* [brainfuck](https://esolangs.org/wiki/brainfuck): core functionality supported, not very robust yet
* [Thue](https://esolangs.org/wiki/Thue): core functionality supported, special options yet to be implemented
* [Among Us](https://esolangs.org/wiki/Among_Us): seems to work, but needs more testing

### Languages that flint is currently planning to support:

* [FALSE](https://esolangs.org/wiki/FALSE)
* [0815](https://esolangs.org/wiki/0815)
* [Underload](https://esolangs.org/wiki/Underload) (this one will take a while)
* [ESOPUNK](https://esolangs.org/wiki/ESOPUNK)

## Installation

1. Clone this repository: `git clone https://git.matthewhall.xyz/flint.git`
2. Checkout the `main` branch: `cd flint && git checkout main`
3. Compile with `shards build --production`
4. Move or link the `bin/flint` executable somewhere in your `$PATH`

## Usage

This probably won't be updated very often as this is a very early stage of development. With that said, here is what the usage is at the time of writing:

```
Basic usage: flint [OPTIONS] [LANGUAGE] [FILE]
    -h, --help                       show this help and exit
    -i, --interpet                   interpet the provided source code, implied by default, overridden by '-c' or '--compile'
    -c, --compile                    produce a binary or different source code file instead of interpeting the code, overrides an explicit '-i' or '--intepret' flag
    --stdin                          read source code from STDIN instead of a file
    -m CELLS, --memory-size=CELLS    specify the number of memory cells available, defaults vary depending on language
    --supported-languages            print a list of languages supported by flint and exit
```

## Contributors

- [Matthew Hall](gemini://matthewhall.xyz) - creator and maintainer