{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreicweodl5tavvwlddt75rsiiujnqyics5tah5t2hm6jvxwx2b2o3nu",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgksftok7gk2"
  },
  "path": "/t/changing-the-binary-instance-for-double-and-float/13758?page=2#post_27",
  "publishedAt": "2026-03-07T22:54:35.000Z",
  "site": "https://discourse.haskell.org",
  "tags": [
    "https://www.cs.tufts.edu/~nr/cs257/archive/doaitse-swierstra/LL1.pdf"
  ],
  "textContent": "elaforge:\n\n> Is there a relevant distinction between deserialization and parsing?\n\nYeah, if your language does not have to be human readable then you can trivially make it LL(1) (by adding tags to all branches). That means you can have a very simple and efficient O(n) parsing algorithm. For example the one developed by Swierstra and Duponcheel in 1996:\n\n  * https://www.cs.tufts.edu/~nr/cs257/archive/doaitse-swierstra/LL1.pdf\n\n",
  "title": "Changing the `Binary` instance for `Double` and `Float`"
}