An open API service indexing awesome lists of open source software.

https://github.com/linuskmr/fortytwo-lang

FTL is my own programming language. It is inspired by Kaleidoscope, a language introduced in an LLVM tutorial.
https://github.com/linuskmr/fortytwo-lang

compiler kaleidoscope-lang llvm programming-language rust rust-lang

Last synced: 12 months ago
JSON representation

FTL is my own programming language. It is inspired by Kaleidoscope, a language introduced in an LLVM tutorial.

Awesome Lists containing this project

README

          

# fortytwo-lang

fortytwo-lang (FTL) is a programming language. The syntax is a mix of C and Python.
It is based on the programming language _Kaleidoscope_ from an
[LLVM tutorial](https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html).

The goal for FTL is to compile to LLVM IR at some point in the future.

See [Future Thoughts](docs/future_thoughts.md) for how the language could look like later on.

See [libftl](https://github.com/linuskmr/libftl) for ideas regarding the standard library of FTL.

## [Installation](docs/installation.md)

## [Running](src/bin)

## Sourcecode Documentation

To get the documentation of the fortytwo-lang sourcecode, run the following [on your local computer](docs/installation.md#compile-yourself):

```
cargo doc --document-private-items --open
```

## Reserved keywords

You may don't use these for variable names as they could get keywords in the future.

**Memory:**
ref
deref
alloc
del
new
default
nil

**Math:**
shl
shr
bitxor
bitor
bitand

**Logic:**
bool
true
false
and
or
xor
not

**Data structures:**
struct
arr
const
char
string
list
enum

**Loops:**
for
in
of
while

**Useful stuff:**
debug
print
error
def
extern

**Integer data types:**
int8
uint8
int16
uint16
int32
uint32
int64
uint64

**Floating point number data types:**
float32
float64