Lilja Draws Girls
banner
yuurei-lilja.bsky.social
Lilja Draws Girls
@yuurei-lilja.bsky.social
Pencil drawings of girls and cats, with a tint of horror. Also retro-computing and everything in between, I guess?

Looking tech-stuff only? Try @lambdagarden.org
"okay let's see what's up for this year's advent of cod—"

> it's arithmetic

"oh. oh god."
December 2, 2025 at 4:54 PM
i really need to get back to sketching consistently but some random stuff from today (squishy sumika, older mamimu meh, and a couple of other random girlies)
November 30, 2025 at 9:40 PM
it's been a while but for this #RandomGameSaturday ive got... Fushigi no Kuni no Angelique (Angelique in Wonderland)

it's part of the all(?)-women dev team at koei doing games with women as an audience (largely otomes), but this one plays as a board game instead of the usual simulation elements.
November 29, 2025 at 10:59 AM
It also has an alignment operator, so writing something like aligned union declarations for generating ML/etc code is pretty straightforward:
November 26, 2025 at 10:22 PM
the actual generation is a bit of a mess right now because im not modelling the entire typescript language to generate correct code in it (yet), so it's instead handled by this document language that resembles a bit Wadler's pretty printer algebra but can carry debugging information for source-maps
November 26, 2025 at 10:12 PM
finally getting to some actual code generation in this compiler :'> (it's front-to-back nanopass so... yeah :'>)
November 26, 2025 at 10:10 PM
the reason users of compilers don't bother "checking generated code" is that most *common* bugs are usually caught by the extensive testing and fuzzing they go through. even then, compiler formalisation often finds many new bugs every time, and i have to report a new compiler bug every year*.
November 25, 2025 at 11:46 AM
on the one hand, designing your language such that every single entity is referenceable by default without the need to have an explicit "import" declaration is very nice and something i wish other languages would do.

OTOH, dead-code elimination is no longer "just an optimisation" :x
November 24, 2025 at 10:32 PM
it's interesting that the tri-again album has enchanted party sung by mizuki/kaede. their voices work well together but id like to hear it sung by yurika/kaede :'>

i also didnt remember aikatsu had a whole vampire episode so i looked it up and... yurika-sama >///<
November 23, 2025 at 1:59 PM
it comes with a new plushie of the little guy and i think they should've done a plushie of the big guy 😔
November 20, 2025 at 8:56 AM
the pronunciation reminds me of this which does fit the vibes but also doesn't look like the same kanji so i'll need to wait for them to write the name of the game without cute illustrations in place of the kanji :')
November 19, 2025 at 4:44 PM
the girlie looks very similar (also oda sayaka's art is so adorable ;-;)
November 18, 2025 at 8:56 AM
"multi-methods are so much fun!!!!"

what they show you // what they don't show you
November 11, 2025 at 7:40 PM
finally understood the part in the mangaka anime where the girlie is struggling to meet the deadlines and tells her editor "i need an assistant it doesn't matter who just introduce me to one" ("neko no te mo karitai"), so her editor introduces her to an assistant who goes by the name "nekonote"
November 10, 2025 at 6:49 PM
here's why i really needed that simplification pass before doing code-gen.

the language allows writing stuff like `not (X is type or X is-known()), if X > 2, (Y holds(Z, X) or Y carries(Z, X))`

but the stack machine I designed can't really deal with these nested choice points easily...
November 8, 2025 at 4:28 PM
im now at 323 types in 5000 lines of code

(20 or so more types will be added shortly for the codegen pass...)

that gives you about one type defined for each 14-ish lines of code :D
November 7, 2025 at 10:00 PM
you know you're too far gone when you look at a simple issue and think "oh, i know, delimited continuations is going to solve all of my problems"

(i mean technically true in this case because i dont have to save all of the frame stack but also irrelevant because im heap allocating them anyway)
November 6, 2025 at 7:00 AM
it took so long to get here but now i have the first actual forward chaining evaluation working in the vm :D

this is essentially evaluating `A is some-type` (i.e.: all known objects of type some-type) tho so not exactly an interesting program but small enough to work as a test case :'>
November 5, 2025 at 7:23 PM
also i was curious if the microkanren paper actually used the term monad anywhere (since my approach for this language's evaluation semantics is derived from there rather than the WAM and similar machines) and it did. not in the main text tho which is understandable.
November 5, 2025 at 8:04 AM
me: "i just need a simple compiler for a programming language for building adventure games"

me, a week later: "so i think i need a new pass to optimise dispatch trees for multimethods now"

(compilers are terrifying, this is what they do to you if you get into compilers)
November 2, 2025 at 9:20 PM
finally got some more time to listen to mellow tears rhythm properly (the aikatsu friends album) and there are some pretty neat songs in the jewel part when alicia and hibiki join the cast huh? (i actually havent watched that part yet :'>)

also probably one of the gayer album covers for the series
November 1, 2025 at 9:50 PM
me: "so instead of having the programmer write their declarations in order i'll just have the compiler re-order them as needed by following the dependency graph."

me, realising i now have to serialise almost every single definition in this language: "oh... oh :/"
November 1, 2025 at 9:34 PM
having to deal with logical negation, disjunction, and arbitrary constraints makes things significantly more complicated than id have liked this to be, but i have a proper variable resolution pass now that deals with both logic-introduced variables + unification and regular variables ;-;
October 31, 2025 at 2:52 PM
that was really good food

i wasnt expecting much from it but the art is gorgeous and the writing beats work quite well, even as something more on the comedy side with a bit of more serious social commentary
October 31, 2025 at 9:31 AM
the most terrifying panel ive ever read. she's too powerful.
October 31, 2025 at 8:46 AM