Limvot/kraken

The Kraken Programming Language

Rust

58

1,063 commits

updated Feb 8, 2024

See the code

README

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 )

Contributors

Limvot

1,020 commits

ChrisFadden

22 commits

jorendorff

11 commits

lotusronin

9 commits

Limvot/kraken

The Kraken Programming Language

Rust

58

1,063 commits

updated Feb 8, 2024

See the code

README

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 )

Contributors

Limvot

1,020 commits

ChrisFadden

22 commits

jorendorff

11 commits

lotusronin

9 commits

Languages

Rust

40.6%

NewLisp

12.7%

HTML

11.7%

Shell

7.5%

JavaScript

4.4%

Java

4.3%

Swift

4.2%

C++

3.6%

CMake

2.5%

Haskell

2.2%

Python

2.1%

OCaml

1.9%

CSS

1.2%