Difference between revisions of "List of partial functions"

From HaskellWiki
Jump to: navigation, search
(add witnesses for all of them)
m (More to do...)
 
Line 189: Line 189:
 
|colspan="2" | ... (todo)
 
|colspan="2" | ... (todo)
 
|}
 
|}
 +
 +
[[Category:Pages under construction]]

Latest revision as of 04:31, 26 April 2021

Partial functions in Prelude

Functions that aren't even partial

Function Witness
error error "x"
undefined undefined

List functions

Function Only partial for infinite lists Witness
maximum No maximum []
minimum No minimum []
head No head []
tail No tail []
init No init []
last No last []
foldl Yes foldl (const (const ())) () [0..]
foldl' Yes foldl' (const (const ())) () [0..]
foldl1 No foldl1 (const (const ())) []
foldl1' No foldl1' (const (const ())) []
foldr1 No foldr1 (const (const ())) []
cycle No cycle []
!! No [] !! 0
filter Yes filter (const False) [0..]
dropWhile Yes dropWhile (const True) [0..]
length Yes length [0..]
sum Yes sum [0..]
product Yes product [0..]
reverse Yes reverse [0..]

Other

Function Witness
read read "x" :: Int
quot 1 `quot` 0
rem 1 `rem` 0
quotRem 1 `quotRem` 0
div 1 `div` 0
mod 1 `mod` 0
divMod 1 `divMod` 0
succ succ ()
pred pred ()
toEnum toEnum 1 :: ()
(^) 1 ^ (-1)
fail fail "x" :: Either () ()
... (todo)

Partial functions in other base libraries

Data.List

Function Only partial for infinite lists Witness
genericIndex No genericIndex [] 0
genericLength Yes genericLength [0..] :: Integer

Data.Map

Function Witness
(!) Map.empty ! ()

Data.Maybe

Function Witness
fromJust fromJust Nothing

Partial functions in other Haskell Platform packages

Function Witness
... (todo)