https://github.com/callisto-lang/compiler
The Callisto compiler of the 13th month, and other language extras
https://github.com/callisto-lang/compiler
compiler concatenative concatenative-language concatenative-programming-language programming-language uxn uxntal x86-64
Last synced: about 2 months ago
JSON representation
The Callisto compiler of the 13th month, and other language extras
- Host: GitHub
- URL: https://github.com/callisto-lang/compiler
- Owner: callisto-lang
- License: mit
- Created: 2024-03-20T17:36:25.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-11-15T15:41:56.000Z (2 months ago)
- Last Synced: 2025-11-15T16:23:36.410Z (2 months ago)
- Topics: compiler, concatenative, concatenative-language, concatenative-programming-language, programming-language, uxn, uxntal, x86-64
- Language: D
- Homepage: https://callisto.mesyeti.uk
- Size: 1.27 MB
- Stars: 68
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-uxn - Callisto - Low level compiled programming language with a uxn backend (Development tools / Assemblers, compilers & disassemblers)
README
# The Callisto compiler
Callisto is a stack-based imperative programming language with stack safety enforced
by the compiler (which is optional).
It also has a subset called CallistoScript made to compile to scripting languages like
Lua, while keeping its low level features (like direct access to memory).
## Supported targets
- x86 real mode - MS-DOS, bare metal
- x86_64 - Linux, macOS, FreeBSD (partial)
- ARM64 - Linux, macOS
- Uxn - Varvara
- Lua
## Build
```
dub build --compiler=ldc
```
The compiler executable will be called `cac`
> [!WARNING]
> Compilation may freeze due to a bug in the Digital Mars D compiler. If this happens,
> compile with this command: `dub build --compiler=ldc`.
>
> If that doesn't work, then run with `--compiler=ldc2` instead.
## Run example programs
Make sure you get the standard library
```
git submodule update --remote
```
Then compile example programs like this
```
cac examples/exampleNameHere.cal -i std
```
The output executable will be called `out`. Any example programs that require extra flags
for compilation will have a compile command in a comment at the top of the source file.
## Community
Join `#callisto-lang` on irc.libera.chat.
Join `QHAtc4GWq7` on Discord