Earlier quoted context omitted.
> The language wars largely ended, with the more popular languages folding in a lot of the more (at the time) esoteric features. > DSLs have fallen out of favor. External DSLs have largely fallen out of favor, in a large part because the “esoteric features” that have been widely adopted include those that enable very expressive internal DSLs.
It is no fun writing external DSLs when you're stuck with your grandfather's parser generator. If we had grammars that were really extensible (add "unless(X)" equivalent to "if(!X)" in Java's grammar with a few lines of code) and composable (stick a SQL statement into a Java program with just a few lines of code if you have the SQL and Java grammars) and reversible (turn the AST tree back to source code) it would be…
Ask HN: What Happened to Lambda-the-Ultimate.org?
31–40 of 47 posts
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#32Earlier quoted context omitted.
> The language wars largely ended, with the more popular languages folding in a lot of the more (at the time) esoteric features. > DSLs have fallen out of favor. External DSLs have largely fallen out of favor, in a large part because the “esoteric features” that have been widely adopted include those that enable very expressive internal DSLs.
It is no fun writing external DSLs when you're stuck with your grandfather's parser generator. If we had grammars that were really extensible (add "unless(X)" equivalent to "if(!X)" in Java's grammar with a few lines of code) and composable (stick a SQL statement into a Java program with just a few lines of code if you have the SQL and Java grammars) and reversible (turn the AST tree back to source code) it would be…
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#33My guess is it will be back. Just a hunch based on watching similar things happen. This post will likely result in it coming back sooner and/or having a better plan for staying up in the future. Upvote it please!
> My guess is it will be back. Even if it's propped back up, having been extremely quiet for a prolonged period, and then conspicuously broken could pretty reasonably be expected to push participants to a different venue, don't you think?
I'd be happy to see the kind of discussions that happened on Lambda The Ultimate thrive anywhere, so long as it's reasonably open. Stack Exchange is pretty good because it puts content under a CC license: https://stackoverflow.com/help/licensing I thought there was a programming lanugage Stack Exchange but I'm just seeing https://softwareengineering.meta.stackexchange.com/ - and there's this question: https://meta.stackexchange.com/questions/309740/where-to-ask... On the other hand, StackExchange tends to resist open-ended questions. Perhaps a Discourse (cofounded by a Stack Overflow cofounder) would be a good spot.
I'm really hoping it will come back up even if it doesn't get new activity because archive.org isn't the same as being able to just link to an old post.
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#34Earlier quoted context omitted.
It is no fun writing external DSLs when you're stuck with your grandfather's parser generator. If we had grammars that were really extensible (add "unless(X)" equivalent to "if(!X)" in Java's grammar with a few lines of code) and composable (stick a SQL statement into a Java program with just a few lines of code if you have the SQL and Java grammars) and reversible (turn the AST tree back to source code) it would be…
Have you tried writing a DSL in Kotlin?
I think Java is just fine for internal DSLs, see
jooq embeds a Turing complete programming language because it supports Procedural SQL.
I was also hacking on this project
https://github.com/paulhoule/ferocity/
which was about making Java homoiconic. Namely in ferocity you can write
Expression literal = of("Hello World");
Expression expression = getBytes(literal);
and then expression.asSource() = '"Hello World".getBytes()'
expression.evaluate() = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100}
the evaluation is done with the primitive interpreter strategy of evaluating all of the arguments of the function then calling the function, ...I got far enough on that project that I discovered a bunch of things like the expression language has extensions over the real Java language pretty naturally for instance if you have a quote function like the quote in LISP you can write programs in the extended language to process syntactic macros.
I convinced myself that the idea is sound and got started on bootstrapping it by building a partial implementation (ferocity0) and code generator to make stubs out of the standard library plus a persistent collections library because that is pretty helpful for building the DSL, then write ferocity1 in ferocity0 wherever it could eliminate boilerplate (like the 8 primitive types.)
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#35You can fetch it from here: https://web.archive.org/web/*/lambda-the-ultimate.org
Last good one is https://web.archive.org/web/20220318053046/http://lambda-the... First bad one is https://web.archive.org/web/20220407012041/http://lambda-the...
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#36A lot of different stuff: The language wars largely ended, with the more popular languages folding in a lot of the more (at the time) esoteric features. DSLs have fallen out of favor. Javascript took over for a bit (although I believe that is receding.) LtU was a great place for about a decade when the internet was getting going, moving language discussions out of the mailing lists, which were pretty isolated, and in…
I'm not familiar with the OP content but curious about DSLs in web dev. Is there a whole ecosystem of these that I simply didn't know about? Only one that comes to mind is CoffeeScript but that feels long gone at this point. Going to read about your Hyperscript which sounds interesting
So are router DSLs as you'll see in Rails, Phoenix and other frameworks. In Elixir, the Ecto query DSL is a pretty big deal as well.
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#37Earlier quoted context omitted.
It is no fun writing external DSLs when you're stuck with your grandfather's parser generator. If we had grammars that were really extensible (add "unless(X)" equivalent to "if(!X)" in Java's grammar with a few lines of code) and composable (stick a SQL statement into a Java program with just a few lines of code if you have the SQL and Java grammars) and reversible (turn the AST tree back to source code) it would be…
>It is no fun writing external DSLs when you're stuck with your grandfather's parser generator. Agreed. I've tried various different approaches to building external DSLs, from fully hand-written to language workbenches like xtext [0] and spoofax [1]. I always end up back at hand written, often because of error handling. Creating meaningfully helpful error handling with parser generators always seems hard. >If we had…
Composing grammars may not be possible, but it's easy to define a new grammar that provides the composition of two other grammars along with boilerplate that serves the purpose of determining whether you're in a "grammar A" context or a "grammar B" context. You just need tokens that aren't valid in grammar A or grammar B.
No statement in such a grammar would be valid in either subgrammar, because of the boilerplate, but they would all be trivially reducible to valid statements in the appropriate subgrammar.
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#38It's actually been down for over a week already (maybe even two), my guess is that they don't have the thing monitored and it'll only get fixed once it reaches the admin's ear
Thanks. I actually know about it and am trying to fix it. But thanks for the heads up!
Re: Ask HN: What Happened to Lambda-the-Ultimate.org?
#39Thanks. I actually know about it and am trying to fix it. But thanks for the heads up!