#languagedesign

2025-06-21

ConcreteChars

#minacoding2025 #minacoding27 #imitate #Imagination #poetry #ruby #concrete poems #electronicliterature

For MinaCoding2025 Prompt 27: Imitate , ConcreteChars coded in Ruby is inspired by Nick Montfort’s Concrete Perl: nickm.com/poems/concrete_perl/ as well as the 256 bytes poemes. Instead of using Perl, the ruby code will be making concrete poems.

Poem Examples More in Blog: blog.illestpreacha.com/minacod

af
["as", "bb", "ba"]

["ay", "p", "c", "b", "aq"]

["ae", "p", "y", "ay", "ak", "ab", "az"]
["af", "x", "az", "m", "i"]
abalap
ae

q
["ab", "y", "af"]

["m", "aj", "av", "a", "b"]

["ac", "as", "ae", "v", "ad", "x", "d"]
["q", "am", "ac", "f", "ax"]
xbban
ac

#scifi #worldbuilding #minacoding #illestpreacha #conlangs #modelling #napogenmo #digitalmedia #codedpoems #creativecoding #languagedesign

2025-06-17

New blog post just dropped! Programming Language Design in the Era of LLMs: A Return To Mediocrity? kirancodes.me/posts/log-la... #ProgrammingLanguages #LanguageDesign #DSLs

Screenshot of the page of my blog post titled "Programming Language Design in the Era of LLMs: A Return to Mediocrity?". The blog post is published on the 17th of June 2025. The screenshot shows the first few paragraphs of the blog post which reads:
" The most exciting part of Programming Languages (PL) research for me has always been in Programming Language Design.

By carefully crafting a language with a syntax and semantics tailored for a specific domain, PL designers can provide an interface for end users that seamlessly aligns with the sensibilities and intuitions of practitioners, allowing users to focus on the "interesting" parts of a problem and tackle larger and more complex problems.

Instead of writing a verbose sequence of API calls to display a dialog to a user in a video game: "
Anthony Acciolyanthony@accioly.social
2025-06-12

For the gophers out there... Just a reminder: a bunch of consts + iota isn't an enum. Slugs aren’t enums. Interfaces, structs, and switch statements aren’t enums either.

Enums are enums.

Scala went through the same BS for what felt like a gazillion years.Just add a proper enum to the language. Go really needs a proper sum type. Don’t wait until Go v3 like we did in Scala.

"Simplicity" here is creating extraordinary levels of complexity.

#Enums #Golang #scala #LanguageDesign

Anthony Acciolyanthony@accioly.social
2025-06-03

Kotlin and Go couldn't be approaching their error handling pains more differently.

Go: go.dev/blog/error-syntax
Kotlin: medium.com/@internetcreationis

TL;DR: While Kotlin is getting rich errors, Go is getting... nothing. And please stop asking for it, the community clearly won't come to a consensus.

Like it or not, `if err != nil` is here to stay.

#GoLang #Kotlin #ErrorHandling #LanguageDesign #ProgrammingLanguages #DevThoughts

2025-05-24

Finally managed to migrate `Result`'s variant naming:

- `Pass` instead of `Ok`
- `Fail` instead of `Err`

#core #LanguageDesign

Editor's diff view showing before/after the renaming of Result's variants.
Dr. Dek 👨‍🚀🐧🚀 )portaloffreedom@social.linux.pizza
2025-04-17

If all languages have a hard time create integrating with c++ but an easy time integrating with c, we could consider it a design failure of the c++ language itself

#programminglanguages #c++ #languagedesign

Bojidar Marinovbojidar_bg
2025-03-04

: Are there any fellow enthusiasts around here?

I would love to swap notes with someone -- been toying around with making programming languages as a hobby, and just got to making my first proper self-hoisted compiler recently. (:

Bojidar Marinovbojidar_bg
2025-03-04

My hobbyist continuations-based programming language is now self-hoisting. Wohoo! 🎉

Here, gorge your eyes on this cryptic list reversion routine deep in the compiler:



(-> LET; LET -> iterator RET
    (-> recurse
        recurse recurse iterator (-> V F; F)
    ) -> recurse iterator reversed
    iterator (-> item iterator
        recurse recurse iterator (-> V F; V item reversed)
    ) (->
        RET reversed
    )
) -> reverse
2025-02-19

Only a few tasks left before dropping the work-in-progress label of the "Principles of Language Design" talk. :awesome:

soc.me/talks/language-design
(requires browser with JXL support)

#LanguageDesign #programming

2025-01-31

Rust calling their unchecked blocks "unsafe" is an ongoing cost that will never stop as long the language exists.

#Rust #LanguageDesign

2025-01-15

Interesting issue I hit recently: If you combine unified condition expressions with unions, you could get code like this:

union X of String
let foo: X = "bar"
if foo
... is String { ???.size }

How to refer to the "casted" value of String inside the curly braces here?
With "classic" enums it was easy, because they had an extra syntactic layer of wrapping that my unions lack.

#LanguageDesign

2025-01-08

Is it just me, or are all the language options for building shaders some milquetoast reinterprations of 80s' C/C++?

#gpu #shaders #LanguageDesign

2024-12-18

A module system that doesn't account for generics is also called "a draft of a module system".

#programming #LanguageDesign

vintage screwlisp accountscrewtape@mastodon.sdf.org
2024-11-16

Despite ample evidence to the contrary, #Ilive (hmm, if I were also #evil, that would be a pallindrome as well as a visual collision)
Fascinating (if I do say so) #lispgames #gamejam #gamedev #retrospective on #itch_io
lispy-gopher-show.itch.io/lisp
I am enormously happy with the
{ verb [ dobj [ prep iobj ] ] } x
language dynamic, and how it shares your #lisp #repl, and their concerns are just... Different so they don't collide.
I guess I get my #languageDesign friends a little better now.
Thoughts?

pedestrian cyclistodoruhako
2024-09-01

I've been thinking about permacomputing and digital conservation lately.

Every language compiler or interpreter should contain a full guide + specification to its language. How else are people going to use it if they find it on some disk in a couple decades time...

2024-08-13

What an innocent piece of #php .
`if ($record['hasCustomAttribute'] ?? 0 != 1) {`
It only eats the customers data when they look at it. Its only the third time I fell for this languages operator precedence rules, since the day I got a printed copy and put that next to my monitor. #languagedesign
At least our very-thorough(TM) QA process also failed to notice that the relevant part of the UI became blank and deployed it to production.

sumanthvepasumanthvepa
2024-06-20

For the most part doesn't seem to have too many half-baked ideas in the language, but property wrappers definitely fall into the category of poorly thought out features. In particular, making wrappers composable is some thing that the language designers did not think through. This post by Noah Gilmore describes one technique. But it is fiddly.

noahgilmore.com/blog/nesting-p

2024-06-16

#languagedesign #compiler quandary.

My favourite language (to be named) aims to be friendly and correct.

So, it allows a comment containing text that looks like literals. And it allows literal text containing all the markers that would normally mean a comment.

And it allows comments within comments, to allow a block of code to be commented out easily, even when it contains all the above.

Q: Have I gone too far?
I've spent more time getting this correct in pass 1 than anything else!

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst