SuperFola

joined 2 years ago
 

ArkScript is an interpreted/compiled language since it runs on a VM. For a long time, runtime error messages looked like garbage, presenting the user with an error string like "type error: expected Number got Nil" and some internal VM info (instruction, page, and stack pointers). Then, you had to guess where the error occurred.

I have wondered for a long time how that could be improved, and I only started working on that a few weeks ago. This post is about how I added source tracking to the generated bytecode, to enhance my error messages.

 

I finally found a better memory layout to store variables in ArkScript, and I got a 76% performance boost on the binary tree benchmark, and a 21% perf boost on Ackermann(3, 7) Who knew using a contiguous storage buffer could be beneficial? 🤡

I retraced all the performance improvements I applied to ArkScript through the last five years, with updated benchmarks, AND DAMN what a journey.

 

Generating swaggers at compile time

Hi everyone!

I’m sharing with you a solution I designed for generating swaggers (http4s, tapir, open api) for apps.

At work we always had to remember to launch the app and all the databases containers, which was cumbersome and we would often forget to update the swaggers (which led to generated code for clients that wasn’t up to date).

 

I wanted to design a funny keyboard with an alternative to TRRS, so I made this floppy disk sized keyboard! (Perfect replica, under 10cm x 10cm)

I made a build guide for it too: https://lexp.lt/posts/floppy_keyboard/

 

I tried accessing https://programming.dev/c/programming_languages but it tells me that the community can not be found. Is that a lemmy bug?

 

I’ve started putting the (long) forum posts I make about ArkScript on my blog, so that more people can follow the development. I must say I like the look of it, that’s also helping me getting back into blogging!

 

cross-posted from: https://programming.dev/post/18859576

This past few weeks, Python 3.13 and the possibility to disable the GIL has seen a lot of coverage and that pushed me to dig into my own language, to see how different our approaches are.

So if you’re curious about the rambling of a pldev, that might be for you!

 

I just wanted to have a handy description of computed goto that I could refer to, to reuse this concept without having to read thousands of line trying to make sense out of it.

view more: next ›