Hash :
ec70b853
Author :
Thomas de Grivel
Date :
2024-11-18T15:09:00
KC3 is a programming language with meta-programmation and a graph database embedded into the language. It aims to be the language for semantic programming, and programming the semantic web.
This is a stable release, for the development branch see the KC3 git repository master branch.
KC3 is currently a programming language project, inspired by C, Elixir and Common Lisp. It could be described as C with Elixir modules, pattern matching, and a semantic object system. The idea is to plug modules, closures, pattern matching, a graph database and metaprogramming into C99 with an extremely small set of dependencies.
The pure C11 libkc3
library is a full KC3 parser and interpreter.
ikc3
is the interactive interpreter (verbose).
kc3s
is the script interpreter (same as ikc3 but terse).
There are several C libraries which are installed in lib/kc3/0.1
using the make lib_links
command.
There is a web server in httpd : kc3_httpd
.
All binaries can be compiled for four targets :
assert
is disabled. assert
is enabled dlsym
and thus
all Cfn
at the moment) Supported operating systems (additional dependencies) :
Supported architectures :
To install and test KC3 for yourself, you can follow the KC3 Installation Guide.
There are now four full applications written in KC3 that we know of :
make demo
make demo_gl
make test_httpd
with all the KC3 releases and
documentation. ./app/controllers/
./app/templates/
./config.router.kc3
Str.starts_with?(url, route.path)
./app/views/
Join us on kmx.io Discord server !
Follow the KC3 guides to discover how to use KC3 for your own projects.
(Macro) fn (x) { x }
\n
) (TAG_VOID: 1, TAG_TUPLE: (1+ (max (height tuple->tags))))