accordproject / ergo

Programming Language for Smart Legal Contracts
https://accordproject.org/projects/ergo
Apache License 2.0
158 stars 55 forks source link

Maintainers Needed #876

Open dselman opened 2 years ago

dselman commented 2 years ago

Discussion đź—Ł

The Ergo compiler is currently in need of a maintainer. This issue has been created to track/discuss the best strategy to move forward — nothing is off the table: finding new maintainers, or replacing Ergo with another language.

Context

@jeromesimeon has stepped away from the project.

Detailed Description

We need to find a new set of maintainers for Ergo, or replace Ergo with another language.

Requirements?

  1. Cross-compile to other target languages
  2. Accessible to legal engineers
  3. Capture the semantic logic of a clause
  4. Run on-chain
  5. Run off-chain: e.g. AWS Lambda, Docker container
  6. Expression language for generating markup during drafting
  7. Safety (null-checking etc)
  8. Maintainable — e.g. a vibrant and active community
  9. Can use Concerto types (or types generated from these...) as it's type system

https://popl22.sigplan.org/home/prolala-2022#event-overview https://en.wikipedia.org/wiki/Hindley–Milner_type_system

Lua

https://en.wikipedia.org/wiki/Lua_(programming_language) https://daurnimator.github.io/lua.vm.js/lua.vm.js.html https://github.com/ceifa/wasmoon

AssemblyScript

https://www.assemblyscript.org

TypeScript

https://www.typescriptlang.org

Rust

https://www.rust-lang.org

WASM

https://github.com/appcypher/awesome-wasm-langs

FEEL (from DMN)

https://github.com/EdgeVerve/feel

mttrbrts commented 2 years ago

A document for discussion about the design goals for Ergo. Comments welcome. https://docs.google.com/document/d/1TqMxIuTbe21FIQiwUSpBUjfUyWXv1x-BE120QzkaoHQ/edit?usp=sharing

shubhamkumar13 commented 2 years ago

I also want to throw in Rescript as a language alternative because it's very similar to Javascript (Syntactically) but with the type safety of OCaml. This blog might be convincing : https://www.greyblake.com/blog/from-typescript-to-rescript/

clarus commented 2 years ago

Hello, we at Formal Land are willing to take care of this project. Our contact email is on our webpage. We primarily have experience in Coq and OCaml, plus other more mainstream languages like TypeScript. Thanks.

dselman commented 2 years ago

Ergo Futures

Martin Big fan of Ergo Reached out to OCaml / Coq community Coq may be an issue Could we replace Ergo with WASM? Use Rust or TS as the surface syntax? May help adoption if we use a mainstream language

Shubham Coq is the biggest issue

Tom Lawyers won’t be able to program in Rust, whereas Ergo is more approachable. Ergo DSL rewrite could be backwards compatible

Martin Do we expect lawyers to write Ergo? Simple logic for templates - handlebars What about expressions in Ergo?

Dan Could we reimplement Ergo DSL in Rust and use Rust modules for extensions? Expression language for the templates different to runtime transaction processing?

Matt Do we revise the design goals for logic for contracts? Do we target business people writing / understanding the code? Maintaining what we have currently is not sustainable. Finding another Coq maintainer is next impossible.