The Glass-Bottom-Boat of Programming Language Runtimes.
View a running demo of the system here.
View the source code on github.
What could you do if you knew what happened between your programming language and the hardware?
Caneka is a full-stack + web-server + database replacement for a web development runtime. Based entirely on simplistic components written from scratch in C.
Caneka was born from the idea that productivity in sofware engineering was in need of new tooling. To us, the evolution seamed to stall after the OOP languages.
It seams like we never got to that Level 4 set of languages. A place where developers spend more time on composition than repetitive details.
Lisp, Scala, Rust, and C# all came close with pattern matching and routing features, but there is more power that developers could wield.
The determination to start from scratch is an effort to accomplish a syntax-agnostic runtime while building transparency and reliability at the same time.
This also solves the "many dependencies" problem, by encompasing every essential feature of a software application in one place. Caneka does not require any features outside of a POSIX compliant operating system and a C compiler.
Components are linked as necessary for features such as cryptography and network handling (such as NaCL and eventually SSL). And the build system is designed for extensibility with other software sources.
It also increases portability to keep the C compilation step in place so that it can build and run on a variety of architectures.
Think of it like "a regular expression engine that can generate and run data structures".
The goal of this approach is to increase configuration and encourage teams to map their problem space more directly, using less lines of boiler-plate code.
This is commonly refered to as a Domain Specific Language.
Since the dawn of computing, all computer tasks have been accomplished through a combination of user-interaction, protocols, markups, and programming langauges. Caneka aims to allow software development to include the definition of the langauge syntax.
Caneka has three main components including a parser with no prefered syntax, a network server, and a memory manager for data storage and data structures.
Most of the system is licenced under a 3-Clause BSD Licence from Compare Basic with a few folders shared as public domain. see LICENCE file in the root directory for details about the source code licence(s) in other directories.
The core components run pretty well and have been lightly tested, you can see the status of the system at caneka.org or by building and running the tests through the `bootstrap` programoption (see Build Steps above).
Unit tests are avaialable in the Example Site at code.comparebasic.com.
Caneka is a brand of Compare Basic, read more at comparebasic.com.