#postscarcitysoftware — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #postscarcitysoftware, aggregated by home.social.
-
@kf I feel your pain. I'm currently (re)writing the substrate of a #Lisp system in C. I am eagerly looking forward to the day (which will be soon -- hopefully as soon as next week) when I will be able to switch most of the work to Lisp. This is the fourth Lisp I've written, and this stage of the process is always the most gruelling.
-
@petealexharris Uh-huh. I really want, in #PostScarcitySoftware, for users to be able to type in any form of writing known to humanity, or at least to Unicode. I want it to Just Work™.
For this reason, as well as because I want to know exactly how many bits I have to allocate to each character, char32_t seems the right solution.
Except when it's not.
-
I've started my development log for May. It's really mostly about tooling -- specifically, editors and debuggers.
https://www.journeyman.cc/blog/posts-output/2026-05-05-Post-Scarcity-state-of-play-May-2026/
-
I'm getting stack frames corrupted (or else I'm hitting the wrong stack frames) and I can't see why. My brain is far too messed up to deal with this level of shit just now!
-
-
It's a week since my last #PostScarcitySoftware entry. The version of eval/apply copied from `0.0.6` still doesn't compile, let alone work. There are reasons. I've been ill — my brain really is fucked — and I've had urgent outdoor work.
There is progress. I am cleaning up bits of old cruft as I go. But I don't think copying the old code was a good decision. If I had started a clean room implementation a week ago, I would now have a working evaluator. Certainly, I'd have a better one.
-
@screwlisp @kentpitman @amszmidt (I mean, currently I implement loop by doing a specialisation of try...catch. and while it works I do not consider it elegant!)
-
@vnikolov @screwlisp OK, I'm going to take it on faith for now that the value of (expt 1/2 3/4) is irrational, because I don't have the headspace at present to work the proof. But I'm surprised -- it violates my naive intuition.
What I'm trying to do with #PostScarcitySoftware is to think about how the software for the hardware of the deep future will work.
Actually, it probably won't, of course. Actually, we'll probably burn the planet in the near future. But it's a fun thought experiment.
-
@vnikolov @screwlisp OK, I've not got further than basic peano arithmetic yet. #PostScarcitySoftware is a very big project and although yes of course one day it should have very sophisticated mathematics libraries, I'm nowhere near that. My naive expectation is that if I start something like exponentiation with integers and rationals, then the result should be an integer or a rational. I would be *satisfied* with a complex result, provided that the components were integer or rational.
/Continued -
So yesterday, I decided to copy the versions of eval and apply from 0.0.6 (which, after all, do work — there are lots of problems with the 0.0.6 prototype but the interpreter is not one of them) into 0.1.0. But then last night I read the chapter in @cdegroot 's The Genius of Lisp and I'm back to wanting to reimplement them yet again. I'm not sure that this is wise.
-
OK, OK. So the version of eval/apply written in C is the :bootstrap version — which is to say, sufficient to get Lisp bootstrapped, and to run the compiler. One or both can then be replaced by new implementations written in #Lisp, to provide the :system versions. And any user should in principle be able to override the :system versions with their own versions (although troubling worries about security come into that).
#PostScarcitySoftware
/Continued -
There's a Common #Lisp cryptography library called 'Ironclad'. I'm going to need cryptography for #PostScarcitySoftware authentication, but Post Scarcity #Lisp is going to be a lot more like #Clojure than like CL, so I wondered whether anyone had ported Ironclad to Clojure.
What I found instead was this rather delightful steampunk strategy game!
-
In other news, I'm now posting my #PostScarcitySoftware development log on my blog, in case anyone is interested. Which, if you're sane, you won't be. #Lisp
https://www.journeyman.cc/blog/posts-output/2026-04-20-Post-Scarcity-state-of-play-April-2026/
-
@kirtai Yes. I don't love it nearly as much as I loved the #InterLisp Lyric (and previous) structure editor, but it's better than most modern tooling.
It's that experience that I want to recreate either in the browser (which I'm confident I can do) or in an Electron app (which I'm exploring). The editor will communicate with the underlying #Lisp implementation probably over #nrepl; the idea is that it should be able to work with multiple Lisps, although my target is #PostScarcitySoftware .
-
I did ten hours on #PostScarcitySoftware yesterday, and then slept a bit, and then woke up with an intention to rapid prototype a '#Lisp structure editor in the browser' idea I've been thinking on for a while. I did about five hours on that, and it's looking promising.
I'm recovering from burnout, and my sleep discipline is dreadful; I ought to be taking it easy. But... there is something addictive in playing with new code.
This works for many dialects of Lisp.
-
Well,. the good news this morning is that i found a stupid bug in `cdr` which, once you've seen it, you can't unsee, so the seventh #PostScarcitySoftware #Lisp prototype is now completing initialisation and entering the REPL.
The bad news is that there's an unterminating recursion in (I think) `read` which means that as soon as you type anything it crashes out of memory.
But progress!
-
CW: Madness
As I emerge uncertainly from another sustained period of #madness, I realise (again) that I largely use the #PostScarcitySoftware project as self-prescribed anti-suicide therapy. It's sufficiently hard that it has my foggy brain working at full stretch, and sufficiently huge that there's always a next task to tackle. That I will never complete it is part of the point.
Of course, I've written about this before. I've written about everything before.
https://www.journeyman.cc/blog/posts-output/2019-01-23-mad-software/
-
@Kazinator yes, but you still need `eval` to evaluate the functions. The Lisp calling convention is entirely different to the C calling convention. If I build substrate layer `read` to invoke reader macros with C conventions, then
a: I can't write new reader macros in Lisp; and
b: when I do write a proper `read` function in Lisp, I'll have to rewrite all the reader macros.Whether this actually matters much depends on whether I can fit a compiler into this iteration...
-
My monster, it not only compiles, it now runs!
It doesn't actually do anything useful, yet, but...
I made the change which @prozacchiwawa suggested to the Makefile, which definitely helped...
https://git.journeyman.cc/simon/post-scarcity/commit/a8b4a6e69d570f365cec274865c0cbdf627e9878
-
Unexpected numerological finding. I'm allocating memory for objects in sizes that are powers of two, in order to be able to manage separate freelists for each size to make GC easier. My hashtables have a header overhead of 4 words. My namespaces need a write access control list and a mutex in addition, so an overhead of 6.
It turns out that there are quite a lot more primes which are almost (- (expt 2 n) 4) for some n, than which are almost (- (expt 2 n) 6).
-
OK, folks, I've written yet another incomprehensible essay on the intricacies of implementing a software environment for the hardware of the deep future.
Read this only if you're incurably geeky, and, ideally, interested in #Lisp.
https://www.journeyman.cc/blog/posts-output/2026-03-28-Nodes-threads-locks-links/
-
@yogthos The inference engine I was working on for my thesis (and never completed), Wildwood, assigned objects to classes automatically based on their features; so that
1. one object could be in many otherwise unrelated classes; and
2. you could define a new class, and it would be automatically populated with every object already known to the system which met its criteria.I wrote about this idea in my first essay of the #PostScarcitySoftware project.
https://www.journeyman.cc/blog/posts-output/2006-02-20-postscarcity-software/#social-mobility
-
I've written another essay about my mad #PostScarcitySoftware #Lisp system.
"We don't need to know, or have known, these people to build on their work. We don't have to, and cannot in detail, fully understand their work. There is simply too much of it, its complexity would overwhelm us.
We don't know. We don't care. And that is a protective mechanism, a mechanism which is necessary in order to allow us to focus on our own task, if we are to produce excellent work."
https://www.journeyman.cc/blog/posts-output/2026-03-20-Dont-know-dont-care/