User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
Admin
Wyvern-shaped software developer and hobby vector artist. Also sometimes a fluffy werewolf alien creature (Areon).

Creator of the neofoxes, neocats and other emojis.
wvrnBox
Website
https://volpeon.ink/
Speaking German, English
Age 30s
Pronouns he / him
Backup Account @volpeon@goto.wyvern.rip
Bonus Content @areon@icy.wyvern.rip
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
It lacks backtracking, but that shouldn't be too difficult. But more importantly, even though this implementation is more powerful the code is way more concise than what I had in TypeScript
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
Heck yeah, it works! ​:areonNMlem:​
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
You can tell that Koka is still far from being complete. The language server will often get stuck on errors in your code and will stop updating information about the rest of the file until the error is resolved. Makes it a bit annoying to work with, but it's not impossible. woozy_baa
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
Not only did a sneaky mosquito take my blood, the puncture sites are very big and itchy as heck neofox_googly_shocked
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
What I really love about it is that you can just replicate language features without changing anything about the compiler. They use async/await in the docs as an example for this. What I needed were list comprehensions, so I added
fun for(low: int, high: int, f: int -> list<b>): list<b>
  list(low, high).flatmap(f)

fun pure(a: a): list<a>
  [a]

fun guard(a : bool, f: () -> list<a>): list<a>
  if a then f() else []




and now I can use them like this:
pub fun cuboid(layers: int, rows: int, cols: int): cuboid
  val coords =
    with layer <- for(0, layers)
    with row <- for(0, rows)
    with col <- for(0, cols)
    pure((layer, row, col))
  // ...
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
I'm working on the isometric map generator and I made some nice changes to the fundamentals. For starters, instead of hardcoding 4 directions it now uses a graph so it can handle 2D, 3D, hex grids... anything really. The structure I'm going to use for now is a 3D map to support floating objects (such as bridges) as well.

Koka is strange at first, but I'm starting to get how things work. The standard library lacks a lot of things so I wouldn't use it for anything but toy projects. Not even maps or sets. There's a repo which adds them, so I don't have to start from scratch at least.
​:areonVFlat:​
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@papush Humans in the Pokemon universe are just like any other Pokemon in that they say the same word (Pokemon) all the time neofox_googly_woozy
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@Nievaris_Art I got just the thing if you feel like drawing a werewolf-ish creature ​:areonNMlem:​
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@epsi Missed opportunity to call it "slideloading" drgn_cool
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@catraxx Thanks, it was nice drgn_flat_heart
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
I'm home ​:areonVFlat:​
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
Apparently YouTube has silently "enhanced" video quality with Ai and it has lead to the opposite instead. They're so desperate to shoehorn AI, I bet it's some stupid internal metric like LoC.
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@ShadowJonathan drgn_nom_duck
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@epsi ​:areonNSip:​
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@icedquinn Ah right, nowadays all you ever get is a ✨ license ✨ to use something until the company decides to fuck you over
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
I never called it sideloading because I didn't understand why something that has been completely normal suddenly needed a special term
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@icedquinn It's so nonsensical neofox_googly_shocked
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
Google used an airport as analogy for what they're going to do, but it feels more like a drug cartel to me. I don't care if it doesn't make sense because neither does Google's version. woozy_baa
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
Spotify adds DMs
The heat death of social media is when all apps copy all features from each other so they're all indistinguishable
User avatar
privTri Volpeon areonNSmol @volpeon@icy.wyvern.rip
1y
@catsalad @Natsura @introvertcatto wvrnAngel