koika VS karamel

Compare koika vs karamel and see what are their differences.


A core language for rule-based hardware design 🦑 (by mit-plv)


KaRaMeL is a tool for extracting low-level F* programs to readable C code (by FStarLang)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
koika karamel
2 1
102 349
-1.0% 0.6%
0.0 8.2
about 1 year ago 4 days ago
Coq OCaml
GNU General Public License v3.0 only Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of koika. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-15.


Posts with mentions or reviews of karamel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-15.
  • Let's collect relatively new research programming languages in this thread
    19 projects | reddit.com/r/ProgrammingLanguages | 15 Nov 2022
    Jasmin and F* don't have similar goals, Jasmin is a language designed to precisely express low-level code, while F* is a generalist language for verified programming. There is a subsystem of F* that performs extraction to "readable C code", Karamel (used to be called Kremlin), but you get the usual limitations of C code as a high-level assembler, and also an embedded assembly layer built on Vale. Project Everest therefore generates artifacts that are a mix of C and assembly, rather than a new low-level language design as Jasmin.

What are some alternatives?

When comparing koika and karamel you can also consider the following projects:

kami - A Platform for High-Level Parametric Hardware Specification and its Modular Verification

CompCert - The CompCert formally-verified C compiler

vericert - A formally verified high-level synthesis tool based on CompCert and written in Coq.

hardware - Verilog development and verification project for HOL4

silveroak - Formal specification and verification of hardware, especially for security and privacy.

jasmin - Language for high-assurance and high-speed cryptography

effekt - A research language with effect handlers and lightweight effect polymorphism

HVM - A massively parallel, optimal functional runtime in Rust

Vale - Compiler for the Vale programming language - http://vale.dev/

futhark - :boom::computer::boom: A data-parallel functional programming language

val - The val compiler

usuba - A programming language to write bitsliced ciphers