Difference between revisions of "Partial signatures"
Jump to navigation
Jump to search
DonStewart (talk | contribs) (Partial class constraint signatures) |
m (Reverted edits by Tomjaguarpaw (talk) to last revision by Lemming) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | "The regular (full) signature of a function specifies the type of the |
+ | "The regular (full) [[type signature|signature]] of a function specifies the type of the |
function and -- if the type includes constrained type variables -- |
function and -- if the type includes constrained type variables -- |
||
enumerates all of the typeclass constraints. The list of the constraints |
enumerates all of the typeclass constraints. The list of the constraints |
Latest revision as of 15:19, 6 February 2021
"The regular (full) signature of a function specifies the type of the function and -- if the type includes constrained type variables -- enumerates all of the typeclass constraints. The list of the constraints may be quite large. Partial signatures help when:
- we wish to add an extra constraint to the type of the function but we do not wish to explicitly write the type of the function and enumerate all of the typeclass constraints,
- we wish to specify the type of the function and perhaps some of the constraints -- and let the typechecker figure out the rest of them.
Contrary to a popular belief, both of the above are easily possible, in Haskell98."