622
submitted 11 months ago by jroid8@lemmy.world to c/programmerhumor@lemmy.ml
you are viewing a single comment's thread
view the rest of the comments
[-] Feathercrown@lemmy.world 4 points 11 months ago

Isn't a Maybe enum equivalent to just using a return value of, for example, int | null with type warnings?

[-] itslilith@lemmy.blahaj.zone 2 points 11 months ago

Not quite, because the Maybe enum is neither int nor null, but it's own, third thing. So before you can do any operations with the return value, you need to handle both cases that could occur

[-] Feathercrown@lemmy.world 5 points 11 months ago

Isn't that also true with compile-time type checking though? Eg. 0 + x where x is int|null would be detected? I don't have much experience here so I could be wrong but I can't think of a case where they're not equivalent

[-] itslilith@lemmy.blahaj.zone 4 points 11 months ago

Most languages that let you do ambiguous return types don't do compile-time type checking, and vice versa. But if it's actually implemented that way, then it's logically equivalent, you're right. Still, I prefer having things explicit

[-] Feathercrown@lemmy.world 1 points 11 months ago

Yeah it's nice to be able to see it

[-] kogasa@programming.dev 3 points 11 months ago
this post was submitted on 08 Dec 2023
622 points (96.4% liked)

Programmer Humor

32443 readers
883 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS