Hello Merveilles, I’m new here.
I’m a 27 years old demiguy (he/him pronouns) living in a small apartment in Rennes, France with my artist boyfriend @Reptifur
I am vegan and have a low income, I don’t have a job.
I’m also autistic and have a hard time understanding subtext, please be precise and direct when talking with me! :)
I love cartoon art, ambient/chill music and serif fonts.
Some of the ideas I want to explore with Vibrisse are, in no particular order:
- Interactive programming
- Structure editor to edit code, instead of it being text
- Garbage collection algorithms, especially non-moving, without pause, parallel ones
- Tracing just-in-time compilation
- Partial evaluation
- Bootable interpreter as the operating system (think Lisp Machine or Smalltalk like OS)
- User interface design
- The continuum between low-level (comfy-rv/assembly) and high-level (Kernel)
Vibrisse is implemented in a Lispy assembly language for the RISC-V ISA, called Comfy-RV, which is itself implemented in Kernel.
I never really programmed much in assembly language, or programmed a whole interpreter with its accompanying data representation and garbage collector, so the whole thing is a big exercise!
I recently hit the first milestone of having Vibrisse build itself. It is, however, extremely slow right now, as I focused on making it work, not making it fast.
Here we go, #Vibrisse devlog thread!
Vibrisse is, at its core, an interpreter for the #Kernel language. But it’s more of a big playground for a lot of ideas I want to play with.
It’s been my pet project since about 2018 when I first discovered the specification by J. Shutt. It’s a Scheme-like programming language where *everything* is a first class object. The evaluation rules are extremely simple and include features traditionally found in (complex) macro systems.
much as i like the idea of OO, when it comes down to it, classes are a *lousy* way to organise a software project - what you really want to see is the interplay *between* objects/classes, and that's what separating everything off into classes rips right away from you
i suspect if i spent much time with CLOS i'd find myself going "yes! this is how classes are supposed to work!" - but then i look at how CLOS might be implemented and i get dizzy at the thought of trying to make that mess in any way efficient
i guess that's another case of Worse Is Better; CLOS is undoubtedly the Right Thing, and is very easy to implement - but less so to implement *efficiently*; whereas the half-arsed Java and C++ versions of OO are easy to make fast, but hard to make less unpleasant
get fedi hired (me)
I am a currently full-time Ph.D. student living on student loans. Last year I was a GTA until shit hit the fan and I quit. I need employment so I can prove to the state in an Affidavit of Support that I can financially support my future spouse who is immigrating.
Can you or your associate(s) hire me?
I have valuable skills in:
Please DM me for further details about my professional background, and to send information about an opening. Paid worker-owned co-op positions will get preference.
Wrote a crappy but simple garbage collector for Vibrisse yesterday. 😀
Now to try bootstraping!
Added a reader and writer (source code parser and printer) to Vibrisse, bootstraping shouldn’t be far now.
The biggest problem right now is that a lot of garbage is generated (I haven’t made any effort to keep allocations low), I’ll try to write a simple GC tomorrow.
data is not text by the way, it’s binary lisp data, I don’t have a parser yet.
Cute hack to cut me some time while testing Vibrisse: poor man’s static linking.
cat interpreter data >program; ./program
Today I fixed a little mistake I made regarding tail calls in my prototype Kernel implementation in Comfy-RV (RISC-V lisp assembly), that pretty much finishes off the core of the interpreter. It can run anything from now on, in theory!
I tried running the fibonacci function, (fib 30) takes 10 seconds on my machine through qemu user-land emulation, versus 9 minutes 45 seconds for the bootstrap interpreter I wrote in Scheme, oof!
Done! 😁 Now waiting for the caps shipment.
I’m really happy about the quality of my SMT hand soldering. :3
Nerdy account of @Kooda
Currently working on Vibrisse, a self-hosting Lisp (Kernel-like) system for RISC-V computers.
Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.