Yet another statically typed compiled programming language.
  • C 97.4%
  • Perl 1.9%
  • Makefile 0.7%
Find a file
tocariimaa 9deeaeb906 store version information, commit in version.c
Store this information in this dedicated C source file.
Plus, call git only when this version.c is built rather than everytime
the Makefile is invoked.
2026-07-10 00:57:01 -04:00
compiler store version information, commit in version.c 2026-07-10 00:57:01 -04:00
docs docs: add @main_module? builtin 2026-07-07 22:09:24 -04:00
stdlib add license files 2025-04-16 21:45:23 -04:00
test tests: use type-as-value 2026-07-07 18:13:02 -04:00
.editorconfig update editorconfig 2025-07-17 13:52:53 -04:00
.gitignore update gitignore 2025-07-18 01:04:01 -04:00
config.mk store version information, commit in version.c 2026-07-10 00:57:01 -04:00
Makefile store version information, commit in version.c 2026-07-10 00:57:01 -04:00
README.md remove mention of kefir 2026-07-03 23:16:28 -04:00

Rutile

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

Think of it as yet another "modernized" C.

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

Building

Build time dependencies

  • C11 C compiler (tested on GCC, Clang, TCC)
  • C standard library
  • GNU Make
  • POSIX shell

Dependencies for the test suite

  • Perl (for the test runner script)

Build time dependencies (single header libraries)

These are contained in compiler/libs.

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.