Top all-time · #1466
Federico Tomassetti
Personal blog · tomassetti.meprogrammingsystems
Federico Tomassetti's personal blog at tomassetti.me covers programming and systems. Since 2015, 48 different Hacker News readers have linked it 124 times, most often “Parsing in Python: Tools and Libraries”. It is still writing: the last post was on 2026-10-19, and you can follow it by feed.
Too few sampled comments (16) to say how often HN recommends it.?
Why HN links it
HN readers link Federico Tomassetti's blog for practical language engineering: parsers, DSLs, ANTLR, and building language tools and IDE support. Parsing-in-JavaScript and language-creation resources come up often.
- Recommended for · 2 comments
- One commenter called a presentation hosted on the blog a good presentation; another said the blog is good and told readers to check it out.
Summarised by Claude from a sample of 16 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Articles and practical knowledge on legacy modernization, automation, software languages and the craft of building tools for complex work.
Most-linked posts?
- Parsing in Python: Tools and Libraries7 people · 7 mentions · first linked 2018-07-31
- How to Write a Transpiler5 people · 5 mentions · first linked 2020-06-10
- Resources on creating programming languages4 people · 5 mentions · first linked 2017-04-19
- Parsing SQL3 people · 4 mentions · first linked 2020-04-15
- The complete guide to (external) Domain Specific Languages3 people · 3 mentions · first linked 2017-02-20
- The Antlr Mega Tutorial3 people · 3 mentions · first linked 2019-03-25
- Designing a DSL for accounting: use a DSL to describe taxes and pension2 people · 2 mentions · first linked 2018-10-10
- Parsing in JavaScript: all the tools and libraries you can use2 people · 2 mentions · first linked 2018-07-17
- A template system for Google Docs2 people · 2 mentions · first linked 2016-04-21
- Why not to use (f)lex, yacc or bison2 people · 2 mentions · first linked 2020-03-05
What Hacker News says?
https://tomassetti.me/wasi-how-to-run-webassembly-code-outsi...
Comment linking /wasi-how-to-run-webassembly-code-outside-of-your-browser/
on “TIL: You can access a user’s camera with just HTML”Submitted A Guide to Natural Language Processing as a story · 418 points
HN discussionOne think I find lacking in books about building languages is a focus on tool. I am working on one (available for 0$ on leanpub: "How to create pragmatic, lightweight languages" https://leanpub.com/create_languages ) with the intention to focus more on building editors and simulator. If you are interested in the subject you could take a look to my blog ( https://tomassetti.me ) I write 1-2 posts per week on building…
Comment linking /
on “Show HN: Crafting Interpreters – A handbook for making programming languages”Submitted Introduction to WebAssembly: why should we care? as a story · 296 points
HN discussionThis reminds me of an article read about how DSL was used to automate/encode Dutch tax code. I can’t recall the article I read but this is a good presentation. https://tomassetti.me/wp-content/uploads/2020/10/2018-04-10-...
Comment linking /wp-content/uploads/2020/10/2018-04-10-1700-Presentation-Jetbrains.pdf
on “Solving `Passport Application` with Haskell”Submitted Resources on creating programming languages as a story · 284 points
HN discussionI also loved that book! It is in my list of best books on building DSLs ( https://tomassetti.me/domain-specific-languages#books )
Comment linking /domain-specific-languages
on “ANTLR Mega Tutorial”Submitted ANTLR Mega Tutorial as a story · 253 points
HN discussionSomewhat similar, see https://substrait.io/ So for example using DuckDB with the Substrait extension, if you create a table create table t(a int); and then query it as in the article, you can see something similar to what is described in the article CALL get_substrait_json('select * from t'); {"relations":[{"root":{"input":{"project":{"input":{"read":{"baseSchema":{"names":["a"],"struct":{"types":[{"i32":{"nullabili…
Comment linking /parsing-sql/
on “What I talk about when I talk about query optimizer (part 1): IR design”Submitted Parsing SQL as a story · 158 points
HN discussionFederico Tomassetti is also good. Check out his blog: https://tomassetti.me/blog/
Comment linking /blog/
on “Little Languages (1986) [pdf]”Submitted A Guide to Parsing: Algorithms and Terminology as a story · 151 points
HN discussionFrom what I can tell, your best bet would be to build the generated parser (which will generate some C code) and then build a small interface in C. From there I would just use R/Python's foreign function interface to call your C wrapper. Alternatively for python you could use a parse combinator like parsec. Depending on how complicated your file can get, using parsec could very likely be the better choice as it has…
Comment linking /parsing-in-python/
on “Show HN: Owl, a new kind of parser generator”Submitted Why not to use (f)lex, yacc or bison as a story · 126 points
HN discussionSuper cool. Bidirectional code generation is something I've spent a bit of time thinking about: I've been building a spreadsheet that generates Python code when you edit it [1], but some of our users also want the ability to edit the Python code they generate and have that reflect in the sheet itself. Template -> Code -> Template is one really hard part of this, and something this tool seems to take a really good ap…
Comment linking /how-to-write-a-transpiler/
on “Show HN: Monocle – bidirectional code generation library”Submitted Parsing in JavaScript: all the tools and libraries you can use as a story · 74 points
HN discussionHave a look at this: https://tomassetti.me/parsing-in-javascript/#chevrotain This is Not exactly a parser generator but an internal JavaScript DSL for writing parsers, but it does meet the criteria for a more verbose syntax.
Comment linking /parsing-in-javascript/
on “Designing a Good DSL”Submitted Lessons learned working decades with Graphical DSLs as a story · 41 points
HN discussionLuckily there are many Parsing Libraries in the JavaScript eco-system, So we won't have to find out if this convoluted approach is worthwhile :) - https://tomassetti.me/parsing-in-javascript/
Comment linking /parsing-in-javascript/
on “Write a parser with JavaScript”Submitted Why you should not use (f)lex, yacc and bison as a story · 37 points
HN discussionSEEKING WORK - Remote or Lyon, France I am an expert in language engineering: design DSLs, parsing, static analysis, IDE support are my specialty. ANTLR, Xtext and Jetbrains MPS are the tools I use the most. I have a PhD, experience in 4 countries (Italy, Germany, Ireland and France), contributions to several open-source projects (e.g., JavaParser and WorldEngine) and an insane passion about software development. We…
Comment linking /
on “Ask HN: Freelancer? Seeking freelancer? (April 2016)”Submitted How to Convert a PDF to Excel as a story · 34 points
HN discussionhttps://tomassetti.me/recognizing-hand-written-shapes-progra... https://azure.microsoft.com/fr-fr/blog/turn-your-whiteboard-... https://www.theverge.com/2017/4/11/15263434/google-ai-autodr... https://quickdraw.withgoogle.com/#
Comment linking /recognizing-hand-written-shapes-programmatically-find-the-key-points-of-a-rectangle/
on “Show HN: Fast, Easy System Diagrams”Submitted Code Completion with Antlr4-C3 as a story · 27 points
HN discussionI wrote an article on everything you need to create your own lanague, hope it helps https://tomassetti.me/resources-create-programming-languages...
Comment linking /resources-create-programming-languages/
on “Ask HN: Resources for learning to write compilers?”Submitted The Antlr Mega Tutorial as a story · 19 points
HN discussionYou could take this idea further by fully parsing queries according to the grammar of the SQL language, rather than using simple pattern matching. In fact it is a result of theoretical computer science that you _cannot_ correctly parse languages like SQL, HTML, Python, etc. with regular expressions: Any attempt to do anything non-trivial will have cases where it misunderstands the code. So you would want to find a S…
Comment linking /parsing-in-python/
on “Show HN: Readsql – convert SQL to most human readable format”Submitted Parsing in Python: Tools and Libraries as a story · 12 points
HN discussionOn other articles (like this [1]), they put a box at the bottom where you can submit your email address. It's far more respectful way to do it. [1]: https://tomassetti.me/working-with-excel-in-python/
Comment linking /working-with-excel-in-python/
on “Why you should not use (f)lex, yacc and bison”Submitted How to Write a Transpiler as a story · 4 points
HN discussion