gelisam / klister

an implementation of stuck macros
BSD 3-Clause "New" or "Revised" License
131 stars 11 forks source link

On syntax design #93

Open qwertie opened 4 years ago

qwertie commented 4 years ago

I just heard your talk at ICFP. You are using a s-expression syntax, and expressed interest in an "extensible syntax" your language could use. I'm of the opinion that, usually, an extensible syntax is not what you want, so for your consideration I would like to show you the approach I prefer to use in programming language design.

LES is a language* designed to feel extensible while having a fixed syntax. It is built on the syntax-agnostic and language-agnostic concept of Loyc trees.

A fixed syntax offers the following advantages relative to a extensible syntax:

LES has the following additional advantages/characteristics:

* really a family of languages, as LES3 will replace LES2; I'm planning to split LES3 into multiple versions while sunsetting LES2. Also Enhanced C# (and its language-agnostic macro processor, LeMP) is based on the same Loyc trees as LES.

Let me know if this is an interesting concept to you (and if not, why not).

david-christiansen commented 4 years ago

Based on a quick skim, it looks interesting. I'll need to find time to look at it in proper detail.

Thank you for the suggestion! I hadn't seen this before.