Yet another statically typed compiled programming language.
  • C 96.4%
  • Python 2.9%
  • Makefile 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-02 01:31:15 -04:00
compiler main: add special enum field for failure 2026-08-02 01:31:15 -04:00
docs grammar: update 2026-08-01 18:49:09 -04:00
stdlib add copyright info 2026-07-28 16:26:17 -04:00
test tests: default field value to True 2026-08-01 13:43:17 -04:00
.editorconfig update editorconfig 2026-07-29 23:13:27 -04:00
.gitignore update gitignore 2025-07-18 01:04:01 -04:00
config.mk makefile: update main repo URL 2026-07-15 18:01:11 -04:00
Makefile makefile: update test runner script path 2026-07-30 14:42:50 -04:00
README.md readme: update 2026-08-01 00:05:29 -04:00

Rutile

Yet another compiled programming language. Very unstable and in early development.

Aiming for a flexible, multi-purpose language; from bare metal to high-level application development.

Check the test/ folder for some syntax examples. Not very different from your expectations.

Documentation & Reference

A WIP reference can be found in docs/reference/.

Building

Build time dependencies

  • C11 C compiler (tested on GCC, Clang, TCC)
  • C standard library
  • GNU Make
  • POSIX shell
  • Vendored libraries, these are contained in compiler/libs, see compiler/libs/README.md.

Test suite dependencies

  • Python (for the test runner script)

Procedure

Note that the default CFLAGS and LDFLAGS are meant for development builds. You can either override the flags from the command line (like shown below) or edit config.mk.

Debug build (uses default flags):

$ make -j$(nproc) rutilec

Release build:

$ make -j$(nproc) rutilec CFLAGS='-O2 -DNDEBUG' LDFLAGS='' ASAN=''

Replicas

This project repository is spread (replicated) across multiple Git hosting sites. None is more or less important that the other. Thus, it is decentralised.

License

  • Compiler code (in compiler/) is under the GNU GPLv3 License.
  • Standard library, runtime code and test files are under the BSD 3-clause License.
  • External libraries have their own licenses.
  • Any other file is under the BSD 3-clause license by default unless otherwise stated.

Acknowledgements

  • Christopher Wellons, for his public domain libraries.
  • Sean Barrett's stb_ds.h.