RE: Mutually recursive bindings

2000-11-09 Thread Tom Pledger
Tom Pledger writes: > Mark P Jones writes: > > [...] > > > > In general, I think you need to know the types to determine what > > transformation is required ... but you need to know the > > transformation before you get the types. Unless you break this > > loop (for example, by supp

RE: Mutually recursive bindings

2000-11-06 Thread Tom Pledger
Tom Pledger writes: > [...] > > For example, with FLAMV = free variables which will be lambda-bound, > and FLETV = free variables which will be let-bound, and ! marking the > alleged innovations: > > h = \x -> (x==x) || h True || h "hello" > [...] > ---

RE: Mutually recursive bindings

2000-11-05 Thread Tom Pledger
Mark P Jones writes: > [...] > > In general, I think you need to know the types to determine what > transformation is required ... but you need to know the > transformation before you get the types. Unless you break this > loop (for example, by supplying explicit type signatures, in which

RE: Mutually recursive bindings

2000-11-05 Thread Mark P Jones
Hi Tom, Thanks for an interesting example! | For this code (an example from the Combined Binding Groups section of | Mark Jones's "Typing Haskell in Haskell"): | | f :: Eq a => a -> Bool | f x = (x == x) || g True | g y = (y <= y) || f True | | Haskell infers the type: | g ::