You can write your own functions that never give meaning. Consider the following function:
never :: a -> b
never a = never a
It does not end, therefore it is considered a value _|_(pronounced bottom ). All types in Haskell are actually the sum of the type and this special value .
You can also write a function that is only partially defined, for example
undefinedForFalse :: Bool -> Bool
undefinedForFalse True = True
undefinedForFalse False - undefined, , _|_, , , , .
error , _|_, , , , , .
Haskell , _|_, , _|_. , _|_, "total". , , _|_ , " ". , , " " " ". , .