HN user

ftomassetti

402 karma
Posts61
Comments43
View on HN
tomassetti.me 29d ago

What Is Software, and Will LLMs Replace It?

ftomassetti
2pts0
tomassetti.me 2mo ago

AI Coding Feels Like Using an Unreliable Compiler

ftomassetti
2pts1
www.infoq.com 9mo ago

A Pipeline Approach to Language Migrations

ftomassetti
1pts0
tomassetti.me 5y ago

Interview with Matteo Mortari (RedHat) on process automation

ftomassetti
2pts0
tomassetti.me 5y ago

Interview with Scott McKinney on improving static typing

ftomassetti
2pts0
tomassetti.me 5y ago

Code Completion with Antlr4-C3

ftomassetti
27pts0
tomassetti.me 6y ago

Parsing SQL

ftomassetti
2pts0
clearbox.ai 6y ago

Making AI less magic and more human

ftomassetti
3pts0
tomassetti.me 6y ago

How to Write a Transpiler

ftomassetti
4pts0
tomassetti.me 6y ago

Parsing SQL

ftomassetti
3pts0
tomassetti.me 6y ago

Quick Domain-Specific Languages in Python with TextX

ftomassetti
3pts0
tomassetti.me 6y ago

Domain Specific Languages for smart contracts

ftomassetti
2pts0
tomassetti.me 6y ago

JaRIKo, an RPG Interpreter in Kotlin

ftomassetti
1pts0
tomassetti.me 6y ago

A Guide to Low-Code Platforms

ftomassetti
3pts0
tomassetti.me 6y ago

Writing a browser based editor using Monaco and ANTLR

ftomassetti
2pts0
github.com 6y ago

Unit Tests for RPG Running on the JVM

ftomassetti
2pts0
tomassetti.me 7y ago

How would I go about creating a programming language?

ftomassetti
2pts0
tomassetti.me 7y ago

A complete tutorial on the Drools business rule engine

ftomassetti
2pts0
tomassetti.me 7y ago

And Why to Analyze, Generate and Transform Code Programmatically

ftomassetti
2pts0
tomassetti.me 7y ago

Designing a DSL for accounting: use a DSL to describe taxes and financials

ftomassetti
1pts0
tomassetti.me 7y ago

Telosys: A Code Generation Tool by Laurent Guerin

ftomassetti
2pts0
tomassetti.me 7y ago

Blazor: .NET in the Browser

ftomassetti
3pts0
tomassetti.me 8y ago

Interview to Pedro J. Molina on Domain Specific Languages

ftomassetti
1pts0
tomassetti.me 8y ago

Are You Abusing Excel? You Need Something Different

ftomassetti
2pts0
tomassetti.me 8y ago

A book on creating programming languages, for real

ftomassetti
3pts0
tomassetti.me 8y ago

A Guide to Natural Language Processing

ftomassetti
418pts52
superkotlin.com 8y ago

Kotlin courses: Reviews and comparison

ftomassetti
2pts0
tomassetti.me 9y ago

Parsing in JavaScript: tools and libraries

ftomassetti
2pts0
tomassetti.me 9y ago

Recognize patterns in code to understand and transform applications

ftomassetti
2pts0
superkotlin.com 9y ago

Why Kotlin Is the Best Language for Android Development

ftomassetti
3pts0

This was not a thing one year ago, but now it is really part of the conversation. In our company the goal is to reduce by two thirds our expenses in digital services by focusing on self hosting and European alternatives. Is it inconvenient? Mildly so, but for most things there are alternatives available once you start looking into them

Honestly designing a parser is easy: just start using ANTLR and perhaps add later an AST layer. However if you do not want to go that I suggest looking in projectional editing, for example JetBrains MPS or Freon by Jos Warmer

Strumenta | Project Manager with Marketing skills | Italy (Remote) | Full time

We are a small company (6 persons) but we are punching above our weight. We have a significant worldwide reputation in our niche and we work with clients distributed across the USA, Europe, and Asia.

While we are registered in Italy, we very rarely have Italian clients. Our working language is English and we would need an English native speaker or someone very fluent in English. If you are not an English speaker, you have not lived for at least one year in an English speaking country, and you have not used English as a working language in the past, please do not apply.

Your role would be ensuring that the most critical things get done, using your judgment to ensure they get done efficiently and effectively. You would be essential in solidifying our good practices, improving them, and identifying how we can improve.

You will guide us specifically on delivery and marketing.

On delivery, you will be in charge of communication and coordination with clients, supervise how projects progress, and measure profitability.

Regarding marketing, you will manage the different activities to ensure we communicate what we are doing clearly and to the right target.

For details see here: https://it.indeed.com/offerta-lavoro/project-manager-d9fabce...

You may be interested in what the Dutch Tax & Custom Agency is doing: they built a DSL to express tax calculations. Here you can find the case study: https://resources.jetbrains.com/storage/products/mps/docs/MP...

Personally I work in the Language Engineering area and it seems obvious that you want tax lawyers and accountants to interpret the tax code and translate it into “code”. Is just that you also want “code” to be obvious for them and support by proper tooling, which catch all inconsistencies.

I would also love to interview the author of this and the work for mon-entreprise. While I understand French, I also have these interviews in English to reach more people

We have several articles comparing tens of other tools. That said of all the tools we worked with, ANTLR was the one we were most efficient with. It is true, there is a learning curve, but in our experience learning it was a great investment. I can understand other could have different preferences

..wow, this is a bit strong. I would encourage you to be more respectful of persons who work in this very specific field and share their ideas. There are always persons behind some work you insult so easily.

You know, there are over 2M persons who read our articles. A few hundred also bought a book or a video-course from us, but the vast majority just got some information from free, and we like it in this way. I do not think we got so many persons interested in what we do by lying.

If you have a different professional experience I would happy to learn from it.

I think that hand-rolled parsers are good if: 1) You have a team that knows well what they are doing 2) You have a lot of resources 3) Your language is stable

I would argue that parser-generators are what made those projects to be started and prosper in the first place. Then once one is successful a custom solution could make sense but in my experience it is more expensive and potentially less maintanable, unless you know very welll your way around parsers and language tooling

I am sorry we had this impression. Sure, we use ANTLR a lot, for commercial and open-source projects, and we had to work with parsers written in (flex), yacc, and bison, so we shared our experiences as people who work all day long with parsers. We offer a lot of free resources on ANTLR and we have not specific interest in advertising ANTLR. For us it is a tool we use and love, just that

Rewriting perhaps not, but being able to fix the ebnf-flavor used to make it more powerful it is a great thing. If you have to stay 100% compatible with all the mistakes accumulated in 30 years you are tied

I am a bit surprised by this, as I had the opposite experience. I find ANTLR grammars much more maintanable than the hand-written parsers I encountered. Indeed I was asked to port hand-written parsers to ANTLR for maintanability. Also, ANTLR4 seems to me to produce grammars which are clearer than ANTLR3.

The weak point is error recovering, in my opinion. While ANTLR offers a sort-of-decent error recovery strategy for free, one has to customize it if they want to get great error messages.

I think that many maintainability issues are due to poor usage of ANTLR. What we do is to: 1) Limit semantic actions 2) For complex languages do tree-transformations, after parsing

With this approach we got pretty decent results.

Personally I find hand-rolled parsers too costly to build and harder to maintain, but I have limited experience with them. I guess it also depends on the context: if you are designing a DSL while writing the parser you want to be able to evolve it very quickly and in that context I think that a parser generator is very useful. If instead I would need to build an industrial grade parser for a general purpose language, having a large budget, then I would go for an hand-rolled parser

In my professional experience I build parsers, like at least 10 per year and 99% are written using ANTLR. I did not find a language that I was not able to parse with it, so far.

I think it does make sense to write manually parsers for performance and error messages, but it should be clear that this means raising cost by ~10 times. It is worth the effort if you are building a compiler for Java, for example, probably not if you want to process some DSL you developed.

Disclaimer: I am the brother of the author of this article

I had a similar thought when using Clojure or Python: as the project matured I wished I could switch to some static typed language. I am very interested in language conversions, so I should give this a thought...

Maybe you could use some information theory to calculate the entropy of your language and evaluate when it makes sense to introduce new concepts. I played with this idea but I have never used it in practice for designing languages.

Thanks! Yes, it is a big pro the fact it supports so many languages, until you need to write semantic predicates at least