I've just started giving Janet a try.
So far it feels delightfully refreshing—small, expressive, and just strange enough to make me smile even just a little.
No idea where this rabbit hole leads, but I'm looking forward to finding out.
I've just started giving Janet a try.
So far it feels delightfully refreshing—small, expressive, and just strange enough to make me smile even just a little.
No idea where this rabbit hole leads, but I'm looking forward to finding out.
Insert, a language for self-modifying code (ioccc.org)
https://www.ioccc.org/2025/uellenberg/index.html
#programming #coding #compilation #compiler #programminglanguages
James Martin's 1981 book Application Development Without Programmers describes fourth-generation programming languages, giving as an example the Engineer's Problem: "give 6% raises to engineers whose job ratings had an average of 7 or better." It took Martin 12 pages of COBOL or a page and a half of Informatics Mark IV. This untested sketch in SQL, probably the most widespread 4GL, took me 10 lines. Perhaps the most astonishing part is SQL's "left join self where newer is null" idiom to find the newest salary history entry.
select s.userid, s.salary, s.date as salary_date,
average(r.rating) as avg_rating,
s.salary * 1.06 as proposed_salary
from employee_rating r
inner join employee_salary s on s.userid = r.userid
left join employee_salary s_newer
on s_newer.userid = s.userid and s_newer.changeid > s.changeid
where s_newer.changeid is null
and r.date > current_timestamp - interval 360 day
group by s.userid having average(r.rating) > 7
John Myles White on Fundamental Concepts in Programming Languages (2015)

It was hectic, a bit chaotic, there's a lot of intelligible questions and discussion. I spoke super fast and still ran out of time. To be honest, it's not a great talk to watch as a recording.
But still, if you weren't there, you missed out. There was a great vibe in the room, we had good fun. My talk on "Four Fascinating Programming Languages You've Probably Never Heard Of":

For a while now I've been trying to come up with some truly bad programming language ideas (basically combining features from languages I don't like into a behemoth that should never have been born) and here are some of the most horrifying ones I could think of:
More suggestions welcome.
"If you have used OCaml 5 this will feel familiar, except OCaml keeps its effects out of the types, so you find out about an unhandled one at runtime, in production, on a Friday."
"If you have used Haskell this will also feel familiar, except in Haskell you would be assembling a monad transformer stack, lifting each operation through every layer by hand, and explaining to a junior colleague that a monad is just a monoid in the category of endofunctors, what's the problem."
https://www.stephendiehl.com/posts/prism/
#ocaml #functionalprogramming #haskell #programminglanguages
https://www.stephendiehl.com/posts/prism/
The more I read this article, the more I am in love with it
#programminglanguages #functionalprogramming #ocaml #haskell
@ekuber I fully agree, but as you know #Rust wasn't designed to prevent as many bugs and vulnerabilities as possible, only some of them, mostly memory safety issues.
That's why I've been trying to make a comprehensive list of problems and how they might be solved or mitigated by a next-generation programming language: https://github.com/gato-lang/gato/blob/main/design/bug-types.md