Files
kraken/README.md

33 lines
1.5 KiB
Markdown
Raw Normal View History

Kraken
2013-05-10 12:08:44 -07:00
======
The Kraken Programming Language
2015-07-18 16:30:21 -04:00
(try it out online at http://www.kraken-lang.org/)
(vim integration (filetype, syntax highlighting, Syntastic) at https://github.com/Limvot/kraken.vim)
2016-02-20 14:11:27 -05:00
(emacs integration (filetype, syntax highlighting) at https://github.com/Limvot/kraken-mode)
2015-05-09 06:48:23 -04:00
2015-07-18 16:29:29 -04:00
The Kraken Programming Language is functional but very much still in development.
2016-01-19 03:23:38 -05:00
It has both the normal features you might expect of a modern language, (functions, variables, an object system, dynamic memory), as well as some more advanced ones (mutually recursive definitions, lambdas/closures, algebraic data types, templates, marker traits, defer statements, etc).
2018-04-17 11:25:53 -04:00
Kraken can either compile to C or its own bytecode which is then interpreted.
Dependencies
============
2018-04-17 11:25:53 -04:00
Kraken is self-hosted - in order to build it, a script is included that will compile the original C++ version (which depends on CMake) and then checks out each necessary version to compile up to the current one. This can take quite a while - when it hits 1.0 I am planning on removing the old C++ version and checking in a pre-compiled-to-c version to use for further bootstrapping.
Goals
=====
It has the following design goals:
* Compiled
* Clean
* Fast (both running and writing)
* Good for Systems (including Operating Systems) programming
2018-04-17 11:25:53 -04:00
* Very powerful libraries (say, a library that allows you import from automatically parsed C header files)
* Minimal "magic" code. (no runtime, other libraries automatically included)
2018-04-17 11:25:53 -04:00
It is inspired by C, Kotlin, Rust, and Jai.