Sorry, I missed the where. On 23/08/2010 12:52, Jonas Almström Duregård wrote:
The indentation on the second line would generate a parse error, the same as it does now. What parser error is that? Both
function 0 = 0 where fun 1 = 1 function 2 = 2
and
function 0 = 0 where fun 1 = 1 fun 2 = 2
works for me.
/J
On 23 August 2010 11:46, John Smith <voldermort@hotmail.com <mailto:voldermort@hotmail.com>> wrote:
The indentation on the second line would generate a parse error, the same as it does now.
On 23/08/2010 12:32, Jonas Almström Duregård wrote:
Maybe because of this:
function 0 = 0 where fun 1 = 1 2 = 2
The last declaration (2=2) can define either fun or function. I'm not saying this is a major problem, but there may be other problems like these.
/J
On 23 August 2010 11:15, Brent Yorgey <byorgey@seas.upenn.edu <mailto:byorgey@seas.upenn.edu> <mailto:byorgey@seas.upenn.edu <mailto:byorgey@seas.upenn.edu>>> wrote: > On Mon, Aug 23, 2010 at 09:33:13AM +0300, John Smith wrote: >> Why doesn't Haskell allow something like this? >> >> fac 0 = 0 >> 1 = 1 >> x = x * fac (x-1) >> >> This would be clearer than repeating the function name each time, >> and follow the same pattern as guards and case. > > Good question. I don't know of any particular reason. > > -Brent