Pinned post

1/5
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)

Show thread

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.

Show thread

Here we go, devlog thread!

Vibrisse is, at its core, an interpreter for the 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.

I really need to redo the source-code parser (Lisp’s read procedure) now. The current one is so bad it dominates the execution of most things I write, oops ^^'

Now that Vibrisse bootstraps, I can play around with it. :3

Today I used Comfy-RV (the compiler/assembler library) at runtime within the REPL to interactively make some new things, super fun! :D

Kooda boosted

I'm starting another 6502 minicubejam next month if anyone is interested in doing something for that !

itch.io/jam/minicubejam04

Kooda boosted

O M G, Vibrisse just built itself for the first time!!!!

The problems that prevented it earlier are sooo dumb too xD

I resumed working a bit on Vibrisse a few days ago after not programming for about a year.

It is very very close to bootstraping itself! :D

I haven’t been super active around here lately.

My Lisp related projects are on hold. I’ve been focusing on art a lot (practicing cello, learning to draw).

Most of the programming I do these days is in Puredata. I love this thing so much.

Kooda boosted

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

Kooda boosted

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:

  • software engineering: any language, but FP is preferred
  • systems engineering (my program of study!) including model-based architecture
  • consulting (engineering/innovation/strategy)
  • website development: WordPress, static site-generated, custom web applications
  • system administration (Linux/OpenBSD)
  • technical writing (hire me to write your documentation!)

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.

#fediHired #getFediHired :boost_requested:

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.

Show thread

Cute hack to cut me some time while testing Vibrisse: poor man’s static linking.

cat interpreter data >program; ./program

I need a cute name for my project. I was thinking Vibrisse as it’s somewhat otter related. :3

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

Factory has been started 😁
(making 3 more keyboards for friends)

Show older
Merveilles

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.