Skip to content

The DeepSEA programming language. Please note that this is a redacted version of DeepSEA, with many proofs excluded from it. Also note that, unfortunately, DeepSEA is no longer an active project. For a more recent project, with similar goals, please see: https://github.com/NethermindEth/Clear/

Notifications You must be signed in to change notification settings

Coda-Coda/deepsea-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About this fork

The main branch of this (unofficial) fork includes various improvements not yet merged upstream. For example, this version is compatible with Coq 8.14 (rather than the original repository which uses Coq 8.9). Please feel free to examine the git history to see the other changes since the repositories diverged at commit 603866.

The DeepSEA Language

This codebase may only be used for educational, research or evaluation purposes, and not for commercial use. This is because the DeepSEA compiler includes files taken and modified from CompCert, so it is developed pursuant to the CompCert licence. Please see the CompCert licence for the full details. You may also wish to look at the INRIA CompCert research project website or the CompCert GitHub repository.

The Shentu Chain webpage has more information about the DeepSEA project, and there are blog posts An Introduction to DeepSEA and How DeepSEA Works (see also the version on the Internet Archive).

Please let us know what you think! Feedback can be sent to deepsea@certik.org or for feedback specific to this fork, feel free to raise an issue.


This directory contains the OCaml parts of the DeepSEA compiler. For the time being, we do not include the sources for the parts that are written in Coq, but we ship the Ocaml files which were compiled from them.

In order to build it, use opam or Nix to install the prerequisites, and then run make:

opam install .
make edsger
mv _build/default/Edsger/edsger.bc dsc

OR

nix-shell
make edsger
mv _build/default/Edsger/edsger.bc dsc

To install the dependencies using Nix, run nix-shell from the root of the repository to install most dependencies without opam (install npm packages separately). Nix is a package manager available on Linux, macOS, and (via WSL) Windows. You can get Nix here.

About

The DeepSEA programming language. Please note that this is a redacted version of DeepSEA, with many proofs excluded from it. Also note that, unfortunately, DeepSEA is no longer an active project. For a more recent project, with similar goals, please see: https://github.com/NethermindEth/Clear/

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Coq 41.4%
  • OCaml 34.4%
  • WebAssembly 20.6%
  • Makefile 1.0%
  • JavaScript 0.9%
  • Shell 0.5%
  • Other 1.2%