@tuban_muzuru @loon

C is just the hardware memory model, about as honestly as anyone can present it in a language higher-level than assembly. There are still situations where that is exactly what you want/need, which is why we'll probably still have a lot of infrastructure written in C for the rest of time.

Of course, that's a niche. You don't always want a language that's just the hardware model with no condom. Most languages don't! (Nearly) everything that ISN'T that C niche offers some kind of abstraction, like reference counting, garbage collection, affine types, or (in the case of #pronelang) pervasive value semantics via COW.

Because programming isn't a zero-sum game with one right tool for all jobs, there's room for these models to coexist with each other, and C also makes an excellent lingua franca to glue them together. Well, room except in Rust Missionary brains, which are very "this town ain't big enough for the two of us." Which, you know, small spaces, I get it.

Most of today needs to be downtime, but when I get back to work on #pronelang, for sure the very next thing I'm working on is moving all object construction to the `mk` module. It's already been a game changer just for the assign type. Huge quality of life improvement.

PrismJS works alright on more conventional browsers, but it's still a slightly awkward fit. Doing syntax parsing and highlighting purely on the client side means fetching a fair amount of infrastructure to do so, which is disrespectful towards the bandwidth and CPU of the user, but also delays syntax highlighting when the JS isn't already in cache (and creates a pop of layout changes when we catch up).

The worst part is that I have to live with another project's constraints on language support - contributing upstream wouldn't be bad for getting x64 assembly highlighting, but a lot of what I use code blocks for is code in #pronelang, the language I'm prototyping, which is far from stable enough to contribute grammars upstream! That's been a thorn in my side the entire time.

Given that my site is built with a homemade SSG, there's no reason I *can't* precalc this and bake it into my page HTML. It's just going to be a difficulty cliff.

Commits that make spawn the voice of Jesse Pinkman in my head, screaming "Yeah that's what you get! Bitch!" #pronelang

Upgraded one of my threads to a blog post with proper formatting!

https://maddiem4.cc/blog/fuller-stack/002e-the-slow-road

#prone #pronelang

The Slow Road

Implementing eval for assignments in Prone.

maddieM4.cc

This thread might take awhile. I'm full in medical struggle. But I'm pretty proud of the work on #pronelang that I managed to squeeze in between the disruptions and chaos in my day, and I want to talk about it.

It doesn't look like a ton of progress. It's just one item on my TODO.md, really half of one (I did the other half yesterday). But it required a lot of side quests that will have long-term value beyond just unlocking the "eval" ability on `prn_assign_t` objects.

The #pronelang codebase is a pretty bad mess lately. Lots of inconsistent patterns where multiple approaches were tried. It's just that phase of the divergence/convergence cycle, and at this moment in particular, I'm forging out a lot of new patterns that can't be cheated off existing code in the repo, having to really think about architecture decisions.

An LLM wouldn't be slowly plodding along like I am, figuring out the right way to do things, because it would just pick something based on the wisdom of crowds. Notably, not second-guessing that wisdom based on project-specific aspirations, or the heterodox value judgments I've come to on software quality after 15 years observing and pondering what makes for good code.

It doesn't have to be now, but via a collective subconscious I mostly disagree with. It has to be mine, and my definition of right.

Working on adding a dedicated C type for assignments (`x = y`) in #pronelang has been an opportunity to pilot out the new `mk`/`mkd` tools, and even `alloc_t_assign`, and I gotta say, the new world is feeling great. Until about now, I was feeling a little uneasy about whether the verb-based modules were actually going to pay off, especially since I was paying some up-front R&D costs figuring out how stuff should work. But I'm now at the point where development is conspicuously fast and fluid, with no `assign.{c,h}` in sight.

I think it's gonna feel really good refactoring existing types to work the same way.

Gonna create the `prn_assign_t` type today at some point, but not right yet. #pronelang can wait. I have a Twilight Zone episode to watch with my beloved.

Then perish.

#pronelang