{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreienghxiqo32pjmjpmgwpkb7hngoi2wnqax3fhhtqfah4swdqsedia",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mkllfivixdw2"
  },
  "path": "/t/why-microhs-uses-combinators/13992#post_4",
  "publishedAt": "2026-04-28T21:58:47.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "It’s correct that the use of combinators is mostly a historical accident.\n\nBut that said, I think it’s easier to translate lambda calculus to combinators and then have combinator interpreter. Combinators are very simple and easy to implement. The great advantage is that there are no variables, so there is no complicated handling of environments. You also get full laziness for free.\n\nSo unless I’m going to generate native code, I would use combinators again. I think it’s easier and as efficient. But I’m happy to be proven wrong. MicroHs is there for anyone to experiment with.",
  "title": "Why microhs uses combinators?"
}