π ARCHITECTURE
We have Spaghetti ARCHITECTURE inspired by Flying Spaghetti Monster. We have six diffrent projects. And fix ways to parse code.
| Project | Parser | Direct goals | Indirect goals | Broad goals | | β | β | β | β | β | | HelMS | Own | Build real Scheme in Haskell | Run Scheme in Esoteric Language | Imperative and dynamically typed languages | | HelPS | Own | Build self hosted Haskell | Compile Haskell to Esoteric Languages | Functional and statically typed languages | | HelTC | Own | Build functional Language for Lambda Calculus | Collect algoritms, macros library and combinators | Functional and untypical languages | | HelCT | Happy-Alex / Trifecta | Build esoteric C Compiler | Collect C library | Imperative and statically typed languages | | HelPA | AttoParsec / MegaParsec | Collect Legacy Assemblers | Create common Stack Assembler | Imperative and untypical languages | | HelMA | ReadP / ReadS | Collect Legacy Automata | Create common Stack Automaton | Imperative and unreadable languages |
Style
| Procjects | HelMS, HelPS, HelTC | HelCT , HelPA, HelMA |
|---|---|---|
| Style | Expression (Scheme Style) | Declaration (Real Haskell Style) |
| Application and composition | & Reversed (>>> Left-to-right (Pipe Style)) |
$ Normal (<<< Right-to-left (Combinator Style)) |
| do notation | use, it is in Schema Style | donβt us, it is imperative |
| List comprehension | Yes, of course | No, never |
| IO | Everything is String -> String |
Use IO, Use MonadIO and MockIO |
| Prelude | Own / RIO | Relude/universum |
| Language extensions | try not to use it, use basic Haskell | use many, use advanced feature of Haskell |
| Will we prescribe? | No, we can not! (PureScrip, BQN?) | Maybe Rust? OCaml? Idris/Curry? |
| Package manager | Stack ? | Cabal |
| Other | Liquid Haskell | Kowainik/Stan, refined |