πŸŽ€ Flat Bartender 🌸

πŸŽ€ Flat Bartender 🌸

@kissa.moe

Hello, I'm Flat! FR/EN | she/they πŸ³οΈβ€βš§οΈ Just a furry artist with some software knowledge. pfp by @munamilk.bsky.social AI training is forbidden on all my work. #art #furry

500 followers1.2K following4.4K posts

View full thread
View full thread

maybe premature optimization is the root of all evil but idk I think it makes sense to have a "push-cdr" operation that replaces the cdr of the pair on top of the stack with a new pair whose car is the specified value and cdr is ()

though this would make building nested list still only possible with cons. but is it such a bad thing after all? ehh idk the cons approach is semantically simpler I'll probably try with that first and experiment with it. bytecode and VMs are very new to me anyway it'll take me a while

View full thread

that's a lot of memory movement that I feel could be avoided if instead lists were opened and closed and the stack could hold an "open list" without it being closed. that would allow creating nested list without having to re-organize everything constantly

or I could have distinct operations for "pushing a value" and "building a list" (since that's essentially what's being done with pairs most of the time anyway) and then still have a "cons" operation for when I actually need a *pair* (or for macros I guess)

View full thread

actually it kinda does. though I'm not sure how efficient using a stack to store values then pop them to transform them into pairs is going to actually be especially when I have long lists to make

View full thread

ohhh but now it makes sense why `(a . b)` would give a value to `a` and "the rest of the values in the list" to `b`! because lists are all pairs, and `.` is the pattern to say "pair", so a list matches against that pattern => a = car and b = cdr

πŸŽ€ Flat Bartender 🌸 reposted

Funny how when I want to draw something sexy I draw something normal, and when I want to draw something normal I draw something sexy. Life's weird #art #furry #furryart

πŸŽ€ Flat Bartender 🌸 reposted

Trying to get back into a drawing mood, I basically haven't drawn in the past couple weeks, and now I'm free from South Horn so I need to draw more #art #furry #furryart

Fuck this I'm gonna implement the rest of my lisp without thinking too much about its "ideal form" then I will add bytecode compiling and a VM then I'll think about the ideal form when I have a solid compiling target

prelude support (to load lisp libraries by default) is pretty important too but that's really easy to do. just load and parse from a file instead of stdin, and eval each s-expr

I understand people prefer eye candy clients but I wish I could have the choice, yknow. But if I don't use the official client I'm breaking ToS and a lot of my online life is tied to this account and I don't like this

could also make something with a roux but I don't have much butter left. I do have a lot of olive oil though so uhhhhhh olive oil roux? is that a thing no actually I don't care if it's a thing I'm just gonna cook da veggies however I think will be good and we'll see the result

actually now that I think about it the Scheme `syntax-rules` macros are very similar to the Rust `macro_rules`. Both are "hygienic", both use pattern matching via a number of rules, even the wording is the same Rust's are just much more complex because the language is more complex