Show newer

for the sake of simplicity and my own personal sanity, the first version of comune probably won't have storable references. rather, you'll be able to implement non-trivial memory structures using raw pointers behind `unsafe` blocks - or, y'know, use libcomune-provided types when they arrive

(and honestly, i've found the approach of "use references for trivial stuff, and standard library types for complicated cases" more than sufficient for implementing comune in Rust, too)

Show thread

i've been meaning to get around to this for ages, but the semantics of Drop and Move heavily rely on having a robust liveness analysis up and running. it's still not at 100%, but it handles non-trivial cases well and i'm a lot more confident in its logical soundness. feels good man

Show thread

fixed the liveness check again! now finally on to implementing Drop, Move and Copy

i gotta say though, i am really pleased with how consistent and clean the syntax looks after the switch to east-qualifiers. especially the `ret(args)` function ptr syntax is like, the platonic ideal of clean C-style syntax to me. love it

Show thread

at this point, the work for function pointers in the middle- and back-end is done, but to actually make them usable i have to finally implement support for global variables lol

Show thread

finally getting around to adding function pointer support to comune and WOW this involves reworking a lot more internal plumbing than i expected

why articulate your thoughts into sentences when you can just meow

realizing that maybe living as a borderline hermit with basically no queer people my age in the area might be affecting my mental state somewhat

only way comune's type syntax is remaining sensible whatsoever is with east qualifiers. do NOT dm

Show thread

cannot fucking believe i'm saying this. but i unfortunately have to hand it to the east-const folk

actually what the hell am i thinking. i can just regex search for includes of comune files and replace them with their equivalent C++ headers directly, that's the point of an include directive lmao

Show thread

could i re-implement (a subset of) the preprocessor to scan source files for includes of comune files, and generate the appropriate headers? is that a reasonable thing to do? probably not but it doesn't SOUND particularly gruelling

Show thread

looking into it a bit, this feels like it should work? at least for basic interop. template support is another matter entirely, but i should be able to expose types and functions from C++ using a wrapper around libclang, and... generate C++ headers to expose my language's interface to C++? maybe? would have to look into how to deal with includes though

Show thread

currently looking into actual C++ integration for comune. anyone know if libclang is a viable candidate for implementing C++ interop in an LLVM-based compiler?

it’s taken me 35 years to realise “hold your horses” means be stable

unintentional but very welcome side effect of getting the live-variable check working properly again: it points out when the IR i'm generating makes Absolutely No Fuckin Sense Whatsoever Dog

Show thread

Customer: I LOVE SCAMS, GRIFTS, CONS, ETC
DMV: FUCK YEAH DUDE GET THAT PAPER

Verdict: APPROVED

Show older
SHRIKE CLUB

ONLY CREATE ACCOUNT IF YOU PERSONALLY KNOW AN ADMINISTRATOR, AND IDENTIFY YOURSELF IN YOUR APPLICATION. YOU DO NOT NEED A SHRIKE CLUB ACCOUNT TO FOLLOW SHRIKE CLUB USERS. A PERSONAL FEDERATED SOCIAL MEDIA INSTANCE FOR SMALL CARNIVOROUS BIRDS BY SMALL CARNIVOROUS BIRDS