/kraken

The Kraken Programming Language

Primary LanguageRustOtherNOASSERTION

Kraken

The Kraken Programming Language

(more information online at http://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)

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.

Currently developing the fourth iteration, a Scheme-like based on a functional Vau calculus JIT compiled for speed.

Working up to a JIT for fexprs by starting with

  • slj - a Simple Lisp JIT (WIP)
  • clj - a continuation lisp JIT?
  • mlj - a mutation lisp JIT?
  • flj - a fexpr Lisp JIT?
  • ki - A fexpr interpeter with mutation and delimited continuations
  • kj - A fexpr+mutation+delimited continuations JIT

koka_bench: Licensed under Apache-2.0, as they are derived from the benchmarks of the Koka project, see the readme and license in koka_bench for more, or https://github.com/koka-lang/koka for the source project.

Kraken (everything else besides the benchmarks in koka_bench, and Recursive/CodeJar/Highlight.js in website/) 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 )