mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.2K
active users

#programminglanguage

0 posts0 participants0 posts today

I've finally done it. I have designed my own programming language (it was only a matter of time). After almost 3 months, ProtoGraph, a language that compiles into ProtoFlux on Resonite is finally taking shape.

It's in beta, and I'm sure there is a ton of work remaining to make it lovable, but I'm quite satisfied with the progress so far. If you play Resonite you can check out the world showing some examples at
ProtoGraph v0.10.0.

I also have a wiki documenting the language:
ProtoGraph Language Introduction

#Resonite #ProtoFlux #ProtoGraph #programming #ProgrammingLanguage

While it has its own issues, there are several good reasons why my favourite #ProgrammingLanguage in the real world is #C

Why not #Go?
Because it's from #Google.

Why not #Csharp or #Fsharp?
#Microsoft.

Why not #Rust or #Zig?
#LLVM (aka #Apple & friends).

Ultimately, most of languages I avoid like the plague are controlled by #BigTech one way or another.

C is simple enough to get several alternative compilers based on useful standards.² ³


¹ In theory I still prefer #Oberon07, but when I want to code something useful I still use C instead to lower the entry barrier for other devs, because there are too many incompatible implementations of the compiler and "standard" library.

² Ok, #Python, #Scheme and #Lua have similar qualities, but for the tools I write I usually prefer binary executables with no runtime.

³ No, #C++ is not an option. 😉
harmful.cat-v.orgBjarne Stroustrup: "I Did It For You All..."

I think a lot of my issues learning other languages are because I'm so used to how simple the syntax in #C is that any other #ProgrammingLanguage looks so syntactically complicated that I don't know how the fuck anyone gets anything done I literally jumped ship from #Java super early in my learning programming because I hated that every.Single.command.wasA.fucking.DotReference.withArbitrarycasingToo

And I think that's a big part of my woes with the #Rust compiler. Even if I didn't have problems with the occasionally misleading wording, it's so gods damned verbose and there's so many warnings that are literally just you doing styling things it doesn't like that I have to scroll through multiple pages. I had a error on a fucking Hello World programme that was five lines long and implied a syntax error when it was an issue with how I installed it.

If there was a Yet Another C Killer that didn't throw errors because your one-word variable isn't snake_case (this actually happened to me the time before last I tried to learn Rust and appears to have been patched since then, but the fact that this was a warning that was enabled by default with that glaring of a readability issue baffles me given how big the project is) and didn't need five lines for a basic syntax error, I'd start learning that now.

There has to be a better way than:

ERROR: we expected there to be a semicolon (this symbol: ";") at line 420, character 69
But there was none!

Hint: add a semicolon to line 420, character 69, like so:
println!(" The classic print to console to make sure the function ran...");
^ this thing right here

Could we not just have:

ERROR on 420:69, missing semicolon. Maybe you forgot one?

I wanted to know if I could still program in languages I haven't used in 10+ years, so I found a tech test on Glassdoor and did it six times... in six different languages.

🔗 More: danq.me/lru-cache-challenge

Here's what I learned:

🧠 Programming MORE languages can make you better at ALL of them

👍 With solid fundamentals, you never truly forget a language

😵‍💫 Switching between some pairs of languages causes brain-gearshift problems

Dan Q · I Wrote the Same Code Six Times!Could I rock an interview tech-test in a programming language I haven't touched in a decade? I wanted to know, so I found a tech-test... then solved it in six different programming languages in a single sitting.
Thinking of publishing a paper about #Schemacs at ICFP/SPLASH 2025

…except there is not much in the way of original research. But I have received a lot of positive feedback about my project from the Scheme and Emacs community. So let me ask the Scheme/Emacs fediverse: if you would be interested in using or contributing to a Scheme-based Emacs that is mostly backward-compatible with #GNUEmacs , what is it about this prospect that is most interesting to you?

Personally, I live inside of Emacs and program most of my personal workflows in Emacs Lisp, though I feel that Scheme is a more interesting and fun language to use when compared to other #Lisp-family languages. So I would just like to be able to use Scheme as the language in which I program all of my personal workflows. Also I am curious if it is possible to write a large application in #R7RS Scheme such that it runs on many different Scheme implementations.

So does anyone else agree, or are there other things about a prospective Scheme-based Emacs that interest you that might be worth mentioning to a the audience of the Scheme-related chapters of the ICFP?

I was talking with William Byrd, who is one of the conference organizers of ICFP/SPLASH this year, and he says the committee could possibly accept anything of interest to the Scheme community, for example experience reports and “position papers” (helping others understand an opinion or philosophy on the topic). And they would judge these papers on different criteria than a paper about novel scientific research.

Anyone feel free to comment, but I am going to ping a few people in particular who seem to have opinions on this, like @dougmerritt @jameshowell @david_megginson @tusharhero @arialdo @lispwitch @cwebber @dpk and also @PaniczGodek who published on GRASP at this conference last year, if I recall correctly.

conf.researchr.orgScheme 2025 - ICFP/SPLASH 2025The Scheme and Functional Programming Workshop is a yearly meeting of programming language practitioners who share an aesthetic sense embodied by the Algorithmic Language Scheme: universality through minimalism, and flexibility through rigorous design.
#tech#software#FOSS

(❁´◡`❁)

#Rust pattern types RFC:
gist.github.com/joboet/0cecbce

Pattern types are a form of refinement types, which allow some subset of #FormalVerification!

en.wikipedia.org/wiki/Refineme

Tracking Issue for #PatternTypes:
github.com/rust-lang/rust/issu

Tracking Issue for generic pattern types OwO:
github.com/rust-lang/rust/issu

Implement minimal, internal-only pattern types in the type system:
github.com/rust-lang/rust/pull

I'm _really_ looking forward to how #RustLang will evolve in this area!👀

GistPattern types RFCPattern types RFC. GitHub Gist: instantly share code, notes, and snippets.
Replied in thread

@das_g True. It is certainly magical that there is a programming language which defines a state monad called “IO” (or sometimes “Effect”) which carries around with it a symbol of the entire Real World in order to model the idea that any evaluation of a function of that type of monad may (or may not) create a change somewhere out in the real world, as opposed to “pure” functions which can only ever manipulate the stack.