Top all-time · #1435
Jeffrey Kegler
Personal blog · jeffreykegler.github.ioprogrammingmath
Jeffrey Kegler's personal blog at jeffreykegler.github.io covers programming and math. Since 2014, 52 different Hacker News readers have linked it 62 times, most often “Parsing: a timeline”. No feed was found, so read it on the site itself.
Most-linked posts?
- Parsing: a timeline16 people · 18 mentions · first linked 2018-04-11
- Kurt Gödel: A Contradiction in the U.S. Constitution?10 people · 10 mentions · first linked 2019-03-05
- Peg: Ambiguity, Precision, and Confusion7 people · 7 mentions · first linked 2017-10-17
- Parsing: an expanded timeline5 people · 5 mentions · first linked 2016-08-23
- The Marpa Parser5 people · 5 mentions · first linked 2015-09-15
- /Ocean-of-Awareness-blog/individual/2012/08/the-solved-problem-that-isnt-is.html2 people · 2 mentions · first linked 2014-10-25
What Hacker News says?
There is some more information at https://jeffreykegler.github.io/personal/morgenstern.html There's also an article about this question at https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2010183
Comment linking /personal/morgenstern.html
on “What Gödel Discovered”Submitted Parsing: a timeline as a story · 326 points
HN discussionYes, yes they are. I've used them successfully for various parsing projects. And in fact Bison recently picked up GLR parsing to deal with multiple options ( https://www.gnu.org/software/bison/manual/bison.html#General... ). But for something even more fun, I suggest you check out Marpa ( https://jeffreykegler.github.io/Marpa-web-site/ ). It is, by far, the nicest parsing tool I have ever worked with. Being able to…
Comment linking /Marpa-web-site/
on “Plan to throw one away”Submitted Undershoot: Parsing theory in 1965 as a story · 102 points
HN discussionThe author of the PEG script cannot in general know what language it actually describes -- it's just too hard. For more, see https://jeffreykegler.github.io/Ocean-of-Awareness-blog/indi... . It has references, which you can follow up on. You're safe if the grammar is LL(1) -- what you sees is what you get. After that it gets mysterious fast.
Comment linking /Ocean-of-Awareness-blog/individual/2015/03/peg.html
on “Parsing: a timeline”Submitted Parsing: a timeline as a story · 73 points
HN discussionIn my experience LPeg does a good job of being comprehensible for most reasonably-sized use cases. It can even parse the grammar of Lua itself. I've personally had not that much trouble translating BNF grammars to PEG, though the result is typically longer. It still satisfies the goal of separating parsing logic from data logic, which is a big step. For more info on the issues with PEGs -- and a paper showing how to…
Comment linking /Ocean-of-Awareness-blog/individual/2015/03/peg.html
on “Just Write the Parser”Submitted Parsing: an expanded timeline as a story · 10 points
HN discussionIn the comments, there's a link to this timeline of parsing techniques with one or two things I hadn't seen before: https://jeffreykegler.github.io/Ocean-of-Awareness-blog/ Author then modernizes one of the better ones.
Comment linking /Ocean-of-Awareness-blog/
on “Writing parsers like it is 2017”Submitted Kurt Gödel: A Contradiction in the U.S. Constitution? as a story · 9 points
HN discussion> PEGs are however are easier to reason about, no ambiguities, so that was good enough reason. I frequently hear this mentioned ("PEGs don't have ambiguity"). It is literally true, but I don't think it's true in the sense that actually matters. I've blogged about this in the past ( https://blog.reverberate.org/2013/09/ll-and-lr-in-context-wh... ), but I'm not the only person saying this: > PEG is not unambiguous in…
Comment linking /Ocean-of-Awareness-blog/individual/2015/03/peg.html
on “The PEPs of Python 3.9”Submitted Introduction to Marpa Book in progress as a story · 7 points
HN discussionYes. https://jeffreykegler.github.io/Ocean-of-Awareness-blog/indi... have some discussion on it, and references for further reading (and a whole lot of making his own parser look powerful in comparison. It certainly is. I just wish the code of his parser was closer to the C I've seen before).
Comment linking /Ocean-of-Awareness-blog/individual/2015/03/peg.html
on “Ohm: Parsing Made Easy”Submitted Parsing: a timeline as a story · 6 points
HN discussionFrom what I infer from articles like https://jeffreykegler.github.io/personal/timeline_v3 , the original Earley paper had a bug, and wasn't a good fit for 1960s hardware, and had poor performance for some types of grammars. By 1991, "Most researchers see the Parsing Problem as "solved" -- a closed issue. Earley parsing is almost forgotten, and Leo's discovery is ignored. Two decades will pass before anyone attempts…
Comment linking /personal/timeline_v3
on “Parser generators vs. handwritten parsers: surveying major languages in 2021”Submitted Parsing: A Timeline (2022) as a story · 4 points
HN discussionI know nothing about parsers or Marpa, but I can offer a link for the curious: http://jeffreykegler.github.io/Marpa-web-site/
Comment linking /Marpa-web-site/
on “Show HN: Owl, a new kind of parser generator”Submitted Parsing: A Timeline as a story · 4 points
HN discussionIt's often I stumble upon discussion mentioning the term LL and LR and other stuff related to parsing[0]. Without a proper CS background, it's quite hard to follow along. That first link[1] and the wikipedia page[2] mentioned there are really great. Many thanks for posting those. It really shed some light about those terms. [0]: https://jeffreykegler.github.io/personal/timeline_v3 [1]: http://blog.reverberate.org/20…
Comment linking /personal/timeline_v3
on “Show HN: Owl, a new kind of parser generator”Submitted Kurt Gödel: A Contradiction in the U.S. Constitution? as a story · 3 points
HN discussionYeah, agreed. I just wish someone would write a "how Marpa parsing works for dummies" article. I've been curious about how it actually works ever since I was colleagues with Aria Stewart, who ported it to JS once upon a time and mentioned it's existence to me (we worked remotely and in opposite time-zones, so I never had a chance to sit down with her for a good old in-person explanation). [0] https://savage.net.au/M…
Comment linking /personal/timeline_v3
on “Ohm: A user-friendly parsing toolkit for JavaScript and TypeScript”Submitted Parsing: A Timeline as a story · 3 points
HN discussionI haven't looked at this book yet but I did like HPMOR. In a different vein, "The God Proof" (a mystery novel revolving around Kurt Gödel's ontological proof of God's existence) was a fun read: https://jeffreykegler.github.io/personal/gp.html
Comment linking /personal/gp.html
on “Unsong, a fantasy novel where the universe is programmable with Hebrew (2015)”Submitted Parsing Timeline as a story · 3 points
HN discussion> I'm currently delving into Earley Parsing, so I can write compilers easily, so I can write DSLs economically, so I can write short programs in any language, so I can spend less time writing those programs, so I can generate less bugs from those programs, so these programs ultimately cost less money$$$. 'Earley parsing' immediately trips a flag in my memory, so I'll just ask—have you seen Jeffrey Kegler's Marpa par…
Comment linking /Marpa-web-site
on “The Two Cultures of Mathematics (2000) [pdf]”Submitted The Marpa Parser as a story · 2 points
HN discussionI've had great success with a parser-generator known as "Marpa" [1]. One of the things I particularly liked about it is how simple it made to emit accurate and useful error messages when parsing complex languages. In addition, it can handle anything that can be expressed in BNF, and it's quite fast. [1] https://jeffreykegler.github.io/Marpa-web-site/
Comment linking /Marpa-web-site/
on “Why not to use (f)lex, yacc or bison”Submitted Parsing: A Timeline (2023) as a story · 2 points
HN discussionAt the end, Kegler links to this comprehensive overview of the history of parsing: https://jeffreykegler.github.io/personal/timeline_v3 which contains this easily overlooked but IMHO extremely significant statement: "a recursive descent implementation can parse operator expressions as lists, and add associativity in post-processing" Personally, it has always seemed like a no-brainer to me that this is clearly the Ri…
Comment linking /personal/timeline_v3
on “Undershoot: Parsing theory in 1965”Submitted Peg: Ambiguity, Precision, and Confusion as a story · 2 points
HN discussion