• 1 Post
  • 15 Comments
Joined 10 days ago
cake
Cake day: May 12th, 2025

help-circle
  • but if you have a single bool in a stack frame it’s probably going to be more than a byte.

    Nope. - if you can’t read RISC-V assembly, look at these lines

            sb      a5,-17(s0)
    ...
            sb      a5,-18(s0)
    ...
            sb      a5,-19(s0)
    ...
    

    That is it storing the bools in single bytes. Also I only used RISC-V because I’m way more familiar with it than x86, but it will do the same thing.

    on the heap definitely more than a byte

    Nope, you can happily malloc(1) and store a bool in it, or malloc(4) and store 4 bools in it. A bool is 1 byte. Consider this a TIL moment.









  • I’m guessing there’s a reason they wanted min() to be able to be called without any arguments but I’m sure it isn’t a good one.

    It not a totally unreasonable definition. For example it preserves nice properties like min(a.concat(b)) == min([min(a), min(b)]).

    Obviously the correct thing to do is to return an optional type, like Rust does. But … yeah I mean considering the other footguns in Javascript (e.g. the insane implicit type coersion) I’d say they didn’t do too badly here.