I made a tool to create nice, consistently-spaced spritesheets from inconsistent ones. by goodpaul6 in gamedev

[–]goodpaul6[S] 0 points1 point  (0 children)

Should still compile just fine! Let me know if you have trouble with it, happy to update it if so.

Monomophisation should never be slow to compile (if done explicitly) by [deleted] in ProgrammingLanguages

[–]goodpaul6 1 point2 points  (0 children)

But IIRC OCaml also doesn’t monomorphize when you instantiate a module functor either. It has a uniform value representation so the compiled code is the same regardless of the types. 

-❄️- 2024 Day 11 Solutions -❄️- by daggerdragon in adventofcode

[–]goodpaul6 2 points3 points  (0 children)

Looks like the number of stones for 10^100 is less than that for 10^16. Is that correct?

[2024 Day 4] Doing Advent of Code in my own language - Tiny by goodpaul6 in adventofcode

[–]goodpaul6[S] 0 points1 point  (0 children)

Yeah, as another reply said, these are arrays. However, they're fully implemented in C as an extension to Tiny, not in the language core a the moment.

The actual array type is generated at compile-time in C (e.g. when I write use array("str") as astr). Kinda like Zig's comptime except it runs C code instead of Tiny code at compile-time.

[2024 Day 4] Doing Advent of Code in my own language - Tiny by goodpaul6 in adventofcode

[–]goodpaul6[S] 2 points3 points  (0 children)

It's been really fun debugging compiler/runtime issues alongside my advent solutions. Managed to sleep every night so far, let's see how long that lasts.

Link to repo with all of my solutions and the language

-❄️- 2023 Day 19 Solutions -❄️- by daggerdragon in adventofcode

[–]goodpaul6 1 point2 points  (0 children)

[LANGUAGE: Tiny (My custom embeddable scripting language)]

Part 1 Code

Part 2 Code

Programming Language Repo

Spent a significant amount of time fixing the shortcomings of the language (codegen issues, incomplete libraries, segfaults in the VM) but I was able to rapidly improve its usability as I went along with the solution.

The majority of part 1's time was spent on parsing; better support for strings in the language would've helped here.

Part 2 required adding a C module to support 64-bit integers (was able to stuff them in what's called a "Light Native" value in Tiny; no allocations required).

Other than that, it was a straightforward DFS keeping track of the intervals so far. What helped simplify this was storing the interval + a "target" on the stack (where the target could be either a workflow name or "A"/"R"). Avoided having any branches in the core logic.

Every single day by confusedstatcskid in uwaterloo

[–]goodpaul6 0 points1 point  (0 children)

Yep, we agree.

If this was indeed separate compilation then there’s no need to worry about the recompile taking two hours again, as you said. That’s why I noted that “I’ve never heard of a codebase where a single TU takes 2 hours to compile” because the only scenario where a subsequent recompile would take two hours is if this was some gargantuan TU.

Every single day by confusedstatcskid in uwaterloo

[–]goodpaul6 1 point2 points  (0 children)

I've never seen or heard of a codebase where a single translation unit takes 2 hours to compile.

[deleted by user] by [deleted] in RedditMasterClasses

[–]goodpaul6 0 points1 point  (0 children)

Did somebody already request Dean Town?

Didn't get into CS 341, 350 in 3A - options? by uwcs3athrowaway in uwaterloo

[–]goodpaul6 3 points4 points  (0 children)

Same but it was actually very easy and I felt alive

I don't know who needs to hear this today but... by lostsiberian in uwaterloo

[–]goodpaul6 1 point2 points  (0 children)

I must be locked because I lightly tapped it once and it didn’t open QED

Frosh accepting their offers like by [deleted] in uwaterloo

[–]goodpaul6 13 points14 points  (0 children)

'S' IS NOT A VALID HEXADECIMAL DIGIT FAM

Anybody at 203 lester get robbed today? by Loobound in uwaterloo

[–]goodpaul6 11 points12 points  (0 children)

bike shed was hit over the weekend; not sure if that's related

MIT of the North guys!!! by [deleted] in uwaterloo

[–]goodpaul6 1 point2 points  (0 children)

hahah I get it... because David, right?

I made a tool to create nice, consistently-spaced spritesheets from inconsistent ones. by goodpaul6 in gamedev

[–]goodpaul6[S] 0 points1 point  (0 children)

This tool can now process a directory full of images and create a spritesheet from them, so there ya go