2023-10-24 12:00:00
C3 v0.1.7 release
Today we released C3 v0.1.7 :
https://git.kmx.io/c3-lang/c3/_tag/v0.1.7.
There is no stable branch, development tree is available as branch master
:
https://git.kmx.io/c3-lang/c3.
Features
C3 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.
Links
- Windows : c3-0.1.7.win64.zip (Size: 5.7M, SHA256: a8d798c910921a3398bdaa4ce888ac755aa13072ae4f62e9e5a38fc40ebed049)
- Linux, BSD : c3-0.1.7.tar.gz (Size: 40.4M, SHA256: 9f5ecceae823563a3dd03030bd90ebb652d456948bed5fadd74c4eb430003add)
Added features in this release
- Facts (graph database)
- Atomic operations
- Serial ID for triples (quadruples with the serial ID).
- Variables
- Equal operator, similar to Elixir.
- Funcall : call a function in a variable.
- Operators
- Operator definitions are held in the graph database
(see
lib/c3/0.1/c3.facts
)
- Cast
- A cast is defined as a function :
Module.cast(Tag) -> Module.type
- Arrays
- Arrays are in the form
(U8) {1, 2, 3}
- Modules
- A module is just a symbol, all metadata is stored in the graph database.
- Autoload : a module will reload automatically if content changes.
- C functions
- Functions
- Modified tests to be grouped by test case.
- Added a CI on https://git.kmx.io/c3-lang/c3/
Next features for v0.1.8
Proposed features for the next release are :
- facts
- negative facts : 4 + 2n = not 3 + 2n
- with ignore variables
- math
- lists
- structs
- errors (setjmp, longjmp)
- stacktrace
- control structures
- modules
- functions
- macros
- livebook
- buf_sha256
- buf_popen
- tests
- coverage
Contributing
Join us on Discord to help with development of C3.
You can also see the kmx.io donations page to contribute financially, any amount is appreciated. All work is financed through donations for now.