logo       

n + k patterns: msg#00061

lang.haskell.glasgow.bugs

Subject: n + k patterns

GHCi infers for

> fac 0 = 1
> fac (n + 1) = (n + 1) * fac n

the following type

/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 5.04.2, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.

Loading package base ... linking ... done.
Loading package haskell98 ... linking ... done.
Compiling Main ( Fac.lhs, interpreted )
Ok, modules loaded: Main.
*Main> :t fac
forall a. (Num a, Ord a) => a -> a

The Report, however, states that

3.17.2 Informal Semantics of Pattern Matching
<...>
An n+k pattern can only be matched against a value in the class
Integral.

Cheers, Ralf


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise