AstonJ

AstonJ

Phil just posted this on EFS:

…interesting that some of the key updates to JavaScript appear heavily influenced by (or blatantly copied from) Elixir

Here are some blog posts about it:

https://medium.com/@alexdev82/whats-new-in-javascript-es2025-f9e99d04f45c

Showing Posts 1 to 10

garrison

garrison

Unfortunately it seems like this article is fake AI slop (see the HN discussion).

It appears some of the proposals are real, e.g. pattern matching, but are nowhere near being accepted. The record proposal was withdrawn, which is a shame because native immutable data structures sound kinda nice. The pipe proposal is stage 2 at least.

It is interesting how many of these proposals are reminiscent of Elixir, though. And pattern matching has already made it into Rust and Python AFAIK, so that one probably has a good chance.

Schultzer

Schultzer

I have to this day never seen anything remotly resembling pattern matching to what we have on the BEAM, it’s a misnomer to call it pattern matching in Rust with the perspective of the BEAM.

garrison

garrison

I agree. But what about Prolog? :slight_smile:

Schultzer

Schultzer

Thank you, Erlang was heavily inspired by prolog!

But I doubt that most people who write JS and Rust is even remotely familiar with prolog. I myself have never written one line of it. I’m just not old enough and we did turbo pascal growing up. Although my dad might have shown me prolog.

garrison

garrison

Oh I certainly haven’t written any Prolog either lol. I do still need to take a good look at Datalog though, especially since I am interested in alternatives to SQL as you know.

I think at the end of the day pattern matching “feels good” in BEAM langs because the libraries and ecosystems are built for it. Plus it pairs nicely with immutability.

Similarly, the pipe operator feels good in Elixir because our standard library is built for it. But if you start working with e.g. :gb_trees you will find that it’s not so great, because the tree is the last argument!

So for interop with JS libraries maybe these features wouldn’t be all that useful, but the thing about JS is that it’s so widely deployed that you can write it in entirely different styles with entirely different subsets of the ecosystem pulled in. Functional/immutable JS is a whole thing. And I refuse to touch JS dependencies with an 11-foot pole anyway, so I can write whatever I want :slight_smile:

Schultzer

Schultzer

Yeah, traditional datalog might be a no go for you as there is no concept of strings or integers.

Also, SQL was influenced but datalog, so it can’t be that bad :grinning_face:

garrison

garrison

Oh yeah, I meant more in the sense of studying the history. There are a lot of papers I need to read from those times. Datalog probably wouldn’t be for me, but it seems some are still trying to make fetch happen. Although those guys seem to have forgotten how to write about anything other than “AI agents”, so I’m not sure it’s going well.

The thing about SQL is that it has been influenced by a great many things because it is so inexpressive and inextensible that the only way to add new functionality is to further bloat the (incredibly bloated) standard with one-off features.

For example, apparently recursive queries (1999) were inspired by Datalog. Can you imagine if somebody “added recursion” to Python or JavaScript? What would that even mean?

Schultzer

Schultzer

That’s a nice blog and it’s clear that matchspec is heavily inspired by datalog, although I do believe that SQL weakness is a strength, as it is completely implementation specific so it is extensible.

I’m a sucker for pattern matching, but I can hear the average developer yelling that it’s not readable. And that is properly why SQL is so heavily used.

lud

lud

I love Prolog !

I only wrote an “hello world” with it, toyed a bit, and then when looking up documentation on the web, I found something strange and unknown to me called “Erlang”. That was some long time ago :slight_smile: And now I’m here, so <3 Prolog

(More seriously it was kinda fun to play with!)

I’m a sucker for pattern matching, but I can hear the average developer yelling that it’s not readable. And that is properly why SQL is so heavily used.

Yeah some coworkers do not seem to want to take advantage of it … though on this forum “I cannot live without it now” seems to be shared by most people.

Schultzer

Schultzer

I think it’s not a matter of taking advantage of it, and more an inability. Although we strive to tell ourself that as programmers then we love logic and analytics, but it is clear to me that most do not think in the way of prolog and datalog. If they did we would see it more used.

Where Next? Top

Trending in Discussions Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
achempion
I’ve been using Emacs as my main code editor for more than a two years. It’s a custom build version although I’ve tried doom emacs and sp...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New
jtormey
Lately I’ve been thinking about how to organize components as a LiveView application grows. One of the pain points I’ve found (for myself...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
georgeguimaraes
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews