4 ms·
I've worked on commercial Haskell projects and it was actually quite nice! Tooling was a pain, libraries may be lacking, but describing a complex domain as a st
by exdsq 5y ago
I've worked on commercial Haskell projects and it was actually quite nice! Tooling was a pain, libraries may be lacking, but describing a complex domain as a state machine in the type system with automatically generated tests (via properties) and formal methods to prove some of the core algorithms was a really interesting way to develop. Not sure it'd be my pick for my own startup though.
- nextos 5y agoWhat formal methods did you use?
- exdsq 5y agoCombination of Agda, Isabelle, Coq, and TLA+ depending on the team - I mostly interacted with TLA+ and the compiled Haskell from Agda specs :)
- dwohnitmok 5y agoWow definitely want to pick your brain. How large/# of LOC were the Agda, Isabelle, and Coq specs? What industry was this?
- exdsq 5y agoBlockchain - two repos with specs are: * https://github.com/input-output-hk/cardano-ledger https://github.com/input-output-hk/cardano-ledger * https://github.com/input-output-hk/plutus https://github.com/input-output-hk/plutus There's quite a few recent Isabelle repos such as https://github.com/input-output-hk/high-assurance-legacy https://github.com/input-output-hk/high-assurance-legacy