Top all-time · #17210
Martin E. Bidlingmaier
Personal blog · mbid.me/postsprogrammingmath
Martin E. Bidlingmaier's personal blog at mbid.me covers programming and math. Since 2023, 4 different Hacker News readers have linked it 11 times, most often “Stop using REST for state synchronization (2024)”. No feed was found, so read it on the site itself.
Most-linked posts?
- Stop using REST for state synchronization (2024)2 people · 2 mentions · first linked 2024-09-22
- Control Flow for Datalog2 people · 2 mentions · first linked 2023-11-01
What Hacker News says?
For me, the main problem with most tools that render to HTML was that they don't support all math typesetting libraries that latex supports. I used to work with category theory, where it's common to use the tikz-cd library to typeset commutative diagrams. tikz-cd is based on tikz, which is usually not supported for HTML output. But apart from math typesetting, my latex documents were usually very simple: They just u…
Comment linking /lcc-model/
on “I don't always use LaTeX, but when I do, I compile to HTML (2013)”Submitted Stop using REST for state synchronization (2024) as a story · 58 points
HN discussionIf you're interested in the details, you might want to have a look at papers [1] or [2]. You can add existentials in this framework, which basically means that the lifting problems mentioned above don't need to have unique solutions. But as you say, then the "minimal" databases aren't determined uniquely up to isomorphism anymore. So the result of Datalog evaluation now depends on the order in which you apply rules.…
Comment linking /eqlog-semantics/
on “SQL, Homomorphisms and Constraint Satisfaction Problems”Submitted Stop using REST for state synchronization (2024) as a story · 2 points
HN discussionI actually started working on Eqlog because I wanted to use it to implement a type checker. You might want to skim the posts in my series on implementing a Hindley-Milner type system using Eqlog, starting here [1]. The meat is in posts 3 - 5. The type checker of Eqlog is mostly implement in Eqlog itself [2]. The general idea is that your parser populates a Database with syntax nodes, which are represented as `...Nod…
Comment linking /posts/dependent-types-for-datalog/
on “SQL, Homomorphisms and Constraint Satisfaction Problems”Submitted Control Flow for Datalog as a story · 1 points
HN discussionI believe these ideas are much more mature and better explord for code gen, but similar techniques are useful also in the frontend of compilers, in the type checker. There's a blog post [1] by Niko Matsakis where he writes about adding equalities to Datalog so that Rust's trait solver can be encoded in Datalog. Instead of desugaring equality into a special binary predicate to normal Datalog as Niko suggests, it can…
Comment linking /posts/type-checking-with-eqlog-polymorphism/
on “The acyclic e-graph: Cranelift's mid-end optimizer”Submitted Control Flow for Datalog as a story · 1 points
HN discussionIf you're going to send out math as SVGs anyway, you can also just use your normal latex to PDF renderer (e.g. pdflatex) on each formula, and then convert the output PDFs to SVGs. That way, you get the same output you'd get with latex, and you can also use latex packages that aren't supported by MathJax (e.g. tikz-cd). I've prototyped a latex to html converter [1] based on that approach, but it's probably not ready…
Comment linking /lcc-model/
on “MathJax – Beautiful and accessible math in all browsers”This is also the natural solution when you're using Datalog to compute with the AST: Datalog operates on relations/tables, so associating types to AST nodes can be accomplished using a table with two columns: One for the ID representing an AST node, and one for the type associated to the AST node. I've recently written about this approach in the series starting here: https://www.mbid.me/posts/type-checking-with-eqlo…
Comment linking /posts/type-checking-with-eqlog-parsing/
on “The AST Typing Problem”