Omg it is SO REFRESHING to see language designers acknowledging that REPLs exist and that yes, indentation-sensitivity FAILS HARD IN A FIRE in a REPL

(from the Magritte language thesis, files.jneen.net/academic/thesis.pdf )

@natecull do you work with it or something?? Tell me more about it.

@natecull like, where do people get enough knowledge to design a language?

@Thorrkky_bosatsu08 Did I say people need knowledge?

I said anyone who designs a language is a language designer.

@Thorrkky_bosatsu08 I'm attempting to be, but so far have not managed to create a complete language (grammar) that satisfies me.

If someone else beats me to it I will happily use theirs.

@Thorrkky_bosatsu08 Specifically what I'm interested in is a meta-language suited for developing domain specific languages. A niche that most existing general-purpose programming and data preresentation languages lock themselves out of because they commit too hard and too soon to various baked-in ideas of what is the 'right' structure of data. So if you have some data or knowledge fragments that don't fit a language's built-in model, the complexity blows up.

Inspirations: Tcl/Tk, Lisp, Forth.

@Thorrkky_bosatsu08 I'd like to see us get to a point where we all agree on a grammar and a 'language' is just a bunch of vocabulary definitions we drop in. As in English with its specialised jargons for various professions.

We will probably never see this in my lifetime, but, this was the idea behind Smalltalk, Forth, Lisp etc. They just all went in different incompatible directions with their grammars.

Anyway, it's sort of a personal toy project for me so I don't have a deadline.

@Thorrkky_bosatsu08 Funny enough, Javascript seems to be the current hothouse for language design ideas, because it's just (almost) meta-programmable enough.

It's fun to see this Cambrian explosion of language concepts in a living breathing real-world language, but it would be nice if we had a metaprogrammable substrate that was a little less... huge and broken, such that there's now only two implementations (Chrome/Node and Firefox).

@Thorrkky_bosatsu08 Anyway I use Powershell and I like the 'value piping concept' and really miss it in Linux, so it's good to see work like Magritte emerging.

I feel like some of the things these writers peg as specific to 'shell' languages are also true for 'metaprogramming' or 'DSL' or 'data/markup'
languages like Lisp: eg, bareword support.

A lot of what we now do as 'programming' is actually maintaining data and config sets; our languages should support those as well as algorithms.

Follow

@natecull
I like the filter pattern, too. You can compose coroutines that way in Lua and other languages, but it's not transparent to the repl in the same way as command pipes

I've been looking at a metaprogramming language called Terra that uses C syntax with Lua as its command preprocessor. It needs better networking support to serve my purposes well. I can still use it make transitions from compile time to run time transitions safer and avoid having a separate source tree for every instance of the game, but I was hoping for something closer to microservices

Sign in to participate in the conversation
Banana.dog

Officially endorsed by @Gargron as a joke instance (along with freedom.horse). Things that make banana.dog unique as an instance.
- Federates with TOR servers
- Stays up to date, often running newest mastodon code
- Unique color scheme
- Strictly enforced rules
- A BananaDogInc company. Visit our other sites sites including betaMax.video, psychicdebugging and gonnaroll