this post was submitted on 22 Nov 2025
293 points (98.3% liked)

Programmer Humor

39433 readers
117 users here now

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

Rules:

founded 6 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] chaos@beehaw.org 5 points 2 weeks ago (1 children)

In Haskell, that's "unit" or the empty tuple. It's basically an object with no contents, behavior, or particular meaning, useful for representing "nothing". It's a solid thing that is never a surprise, unlike undefined or other languages' nulls, which are holes in the language or errors waiting to happen.

You might argue that it's a value and not a function, but Haskell doesn't really differentiate the two anyway:

value :: String
value = "I'm always this string!"

funkyFunc :: String -> String
funkyFunc name = "Rock on, "++name++", rock on!"

Is value a value, or is it a function that takes no arguments? There's not really a difference, Haskell handles them both the same way: by lazily replacing anything matching the pattern on the left side of the equation with the right side of the equation at runtime.

[โ€“] anton@lemmy.blahaj.zone 1 points 2 weeks ago

Mostly a great comment, but I wouldn't compare unit to null, it's more like the void type.