| Building a language is too hard. You need to create: - Grammar, parser, compiler, interpreter (delete as appropriate) - Editor plugins for nice syntax highlighting - Language server - Packages for common things - Nice website (or no one will use it) - etc... So the pressure is always to shoe-horn a big existing language into you problem. Maybe you can build a nice library if your language has decent syntax (or little to no syntax). If you have an AST representation, you probably dump it to JSON etc. I am curious if any projects are trying to make this easier. |
The key ideas are called Intentional Programming and Language Workbenches.
The best accessible implementation of that is JetBrains’ MPS (it is free). It allows you to define a language and “projectional” editors together.
It is really fascinating but it suffers from a learning curve where there is no small step from what people use in their everyday common languages and IDEs to building domain-specific solutions with MPS, so adoption is low.
Markus Voelter has some highly recommendable publications and elaborate applications of MPS for domains specific languages, see http://voelter.de/
I am sure there is something great in that area but it has not found the right form and shape yet, so keep exploring.