Difference between revisions of "List of partial functions"

From HaskellWiki
Jump to navigation Jump to search
(→‎Partial functions in Prelude: Added new section for functions that aren't even partial)
m (Moved footnote to bottom)
(One intermediate revision by the same user not shown)
Line 14: Line 14:
 
* init
 
* init
 
* last
 
* last
* foldl
+
* foldl (∞)
* foldl'
+
* foldl' (∞)
 
* foldl1
 
* foldl1
 
* foldl1'
 
* foldl1'
Line 23: Line 23:
 
* cycle
 
* cycle
 
* !!
 
* !!
* length
+
* length (∞)
* sum
+
* sum (∞)
* product
+
* product (∞)
* reverse
+
* reverse (∞)
 
* ... (todo)
 
* ... (todo)
   
Line 50: Line 50:
   
 
* genericIndex
 
* genericIndex
* genericLength
+
* genericLength (∞)
   
 
===Data.Map===
 
===Data.Map===
Line 63: Line 63:
   
 
... (todo)
 
... (todo)
  +
  +
NB. Functions marked with (∞) are partial because the function will not terminate if given an infinite list.

Revision as of 01:14, 4 November 2015

Partial functions in Prelude

Functions that aren't even partial

  • error
  • undefined

List functions

  • maximum
  • minimum
  • head
  • tail
  • init
  • last
  • foldl (∞)
  • foldl' (∞)
  • foldl1
  • foldl1'
  • foldr1
  • scanl1
  • scanr1
  • cycle
  • !!
  • length (∞)
  • sum (∞)
  • product (∞)
  • reverse (∞)
  • ... (todo)

Other

  • read
  • quot
  • rem
  • quotRem
  • div
  • mod
  • divMod
  • succ
  • pred
  • toEnum
  • (^)
  • fail
  • ... (todo)

Partial functions in other base libraries

Data.List

  • genericIndex
  • genericLength (∞)

Data.Map

  • (!)

Data.Maybe

  • fromJust

Partial functions in other Haskell Platform packages

... (todo)

NB. Functions marked with (∞) are partial because the function will not terminate if given an infinite list.