Welcome to Fil-C, a memory safe implementation of the C and C++ programming languages you already know and love.
Fil-C is a fanatically compatible memory-safe implementation of C and C++. Lots of software compiles and runs with Fil-C with zero or minimal changes. All memory safety errors are caught as Fil-C panics. Fil-C achieves this using a combination of concurrent garbage collection and invisible capabilities (InvisiCaps). Every possibly-unsafe C and C++ operation is checked. Fil-C has no unsafe
escape hatch of any kind.
longjmp
/setjmp
, and shared memory (mmap
style or Sys-V style) work.Grab a recent release, run ./setup.sh
, and compile your favorite C program with build/bin/clang
:
#include <stdio.h>
int main() {
printf("Hello from Fil-C!\n");
return 0;
}
Fil-C's compiler is licensed under Apache 2. Fil-C's runtime is licensed under BSD 2-clause. Fil-C's standard library is licensed under MIT.
Join the Fil-C Discord community to discuss the language implementation, share projects, and contribute to its development.
Fil-C: Systems programming with confidence.