Re: [Haskell-cafe] Re: Typing efficient folds

2009-04-28 Thread Matthew Brecknell
Keith Battocchi wrote: Thanks for explicitly writing out the unification steps; this makes it perfectly clear where things are going wrong. I was hoping to be able to have b' ~ b, l' b' ~ (l b, l b), and z' b' ~ (z b, z b). I guess it makes sense that these types can't be inferred - is

[Haskell-cafe] Re: Typing efficient folds

2009-04-27 Thread Keith Battocchi
Matthew Brecknell haskell at brecknell.org writes: [...] Nest ((,) (l b) (l b)) ~ Nest (l' b') l' ~ (,) (l b) b' ~ (l b) -- (5) Unifying (2) and the result type from (3): n ((,) (z b) (z b)) ~ n (z' b') z' ~ (,) (z b) b' ~ (z b) -- (6) From (5) and