Finally make a clean sweep and delete / organize old files. Add skeleton for LaTeX formal writeup in doc/ and change license (since this is all new code from the past few years) to BSD-2-Clause-Patent
This commit is contained in:
29
README.md
29
README.md
@@ -3,30 +3,21 @@ Kraken
|
||||
|
||||
The Kraken Programming Language
|
||||
|
||||
(try it out online at http://www.kraken-lang.org/)
|
||||
(more information online at http://www.kraken-lang.org/ which is also under construction / needs to be updated / has a try-it-online feature for an older version without partial evaluation)
|
||||
|
||||
(vim integration (filetype, syntax highlighting, Syntastic) at https://github.com/Limvot/kraken.vim)
|
||||
(emacs integration (filetype, syntax highlighting) at https://github.com/Limvot/kraken-mode)
|
||||
Currently developing the third iteration, a Scheme-like based on a functional Vau calculus partially-evaluated for efficency and compiling to WebAssembly.
|
||||
|
||||
The Kraken Programming Language is functional but very much still in development.
|
||||
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).
|
||||
*Heavily* inspiried by John Shutt's thesis: https://web.wpi.edu/Pubs/ETD/Available/etd-090110-124904/unrestricted/jshutt.pdf
|
||||
with partial evaluation during compilation to make it efficient.
|
||||
|
||||
Kraken can either compile to C or its own bytecode which is then interpreted.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
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.
|
||||
Licensed under
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
Note: This license is designed to provide: a) a simple permissive license; b) that is compatible with the GNU General Public License (GPL), version 2; and c) which also has an express patent grant included.
|
||||
|
||||
(Note taken from https://opensource.org/licenses/BSDplusPatent )
|
||||
|
||||
Goals
|
||||
=====
|
||||
|
||||
It has the following design goals:
|
||||
* Compiled
|
||||
* Clean
|
||||
* Fast (both running and writing)
|
||||
* Good for Systems (including Operating Systems) programming
|
||||
* 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)
|
||||
|
||||
It is inspired by C, Kotlin, Rust, and Jai.
|
||||
|
||||
Reference in New Issue
Block a user