{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreieriwhi4nktgnphoqlurakaw2odx57r2qztetp5wnsj2j7catlvhi",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mkkxbi65jfd2"
},
"path": "/t/why-microhs-uses-combinators/13992#post_3",
"publishedAt": "2026-04-28T15:48:51.000Z",
"site": "https://discourse.haskell.org",
"tags": [
"Miranda"
],
"textContent": "I asked this at ZuriHac last year. From what I remember the answer was that it would probably not be much harder and might even be more efficient, but he chose combinators for old times’ sake (the earliest compilers for pure functional languages used combinators, notably David Turner’s Miranda) and because it is also a proven simple approach.\n\nThere’s also a big question of whether you write the interpreter in C or in Haskell. The former will be harder, but makes bootstrapping easy and can perhaps get you more performance.",
"title": "Why microhs uses combinators?"
}