Comments (4)
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/
from ergo.
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.
from ergo.
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
- Purely functional
- Limitations by design
- Type system enforces safety
- Impossible to find Coq developers
Propose to rewrite the implementation in Rust.
Can find developers
Good type system
Expressive
Easy to write code, active foundation, good tutorials
Tooling for parser / lexers are mature
Porting code is probably not possible
Keep the same DSL design?
OCaml just added multicore support! Took 7 years.
OCaml community is very small, focused on creating programming languages
Rust community is larger, and an open/accessible place for beginners. Growing. Evangelism has been successful.
Linux is taking Rust as its second language
Managed by an independent foundation
Targeted at database/blockchain/servers - an efficient server language
Good VSCode IDE. Good tools. Compiler.
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.
from ergo.
A document for discussion about the design goals for Ergo. Comments welcome.
https://docs.google.com/document/d/1TqMxIuTbe21FIQiwUSpBUjfUyWXv1x-BE120QzkaoHQ/edit?usp=sharing
from ergo.
Related Issues (20)
- Document and Clarify Determinism of Ergo HOT 1
- Amounts formatting using Ergo `as` expression isn't aligned with that in the new parser HOT 1
- Extraneous double-quotes rendered in 'foreach' Ergo Expression HOT 6
- Refactor, simplify and clean up Engine API
- Formulas which return a string value are quoted HOT 1
- types definitions HOT 1
- REPL does not return any response HOT 5
- pass arguments to contract init HOT 5
- Migrate CI/CD to GitHub Actions HOT 1
- Typo for the link in Readme
- Flocq source dependency for Ergo 0.21 doesn't build on recent MacOS HOT 2
- GitHub Actions code coverage step doesn't report properly on Windows
- Ergo 0.22 CLI is broken, looking for moment library
- Can't emit an array of obligations formed from an array of values HOT 1
- durationAs calculation error minutes to hours HOT 2
- Optional DateTime always return TRUE for `some(myDate)` HOT 3
- Cannot build from sources due to incompatible coq-jsast.3.0.0
- ergo compile issue - Unknown arguments: ./model/model.cto, ./logic/logic.ergo
- Depreciation and not recognized errors HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ergo.