koika
karamel
Our great sponsors
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 |
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.
koika
-
Let's collect relatively new research programming languages in this thread
https://github.com/koka-lang/koka Algebraic effects and reference counting. https://github.com/mit-plv/koika hardware description DSL for coq
-
There's an ongoing effort to rewrite Principia Mathematica using Coq
There are ongoing research projects about that, you may want to have a look at Kôika (https://github.com/mit-plv/koika), Kami (https://github.com/mit-plv/kami), Lutsig (https://github.com/CakeML/hardware) and silveroak (https://github.com/project-oak/silveroak). Closer to HLS there is also Vericert (https://github.com/ymherklotz/vericert). There may be other research project I am unaware of, feel free to add them in a reply, I am interested in it.
karamel
-
Let's collect relatively new research programming languages in this thread
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?
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