Re: ADT views Re: [Haskell] Views in Haskell

2007-02-01 Thread David Roundy
On Thu, Feb 01, 2007 at 09:12:02AM -0800, David Roundy wrote: > On Wed, Jan 31, 2007 at 09:28:30PM +0300, Bulat Ziganshin wrote: > > Next, i don't think that ability to use any functions in view buy > > something important. pattern guards can be used for arbitrary > > functions, or such function ca

Re: ADT views Re: [Haskell] Views in Haskell

2007-02-01 Thread David Roundy
On Wed, Jan 31, 2007 at 09:28:30PM +0300, Bulat Ziganshin wrote: > Wednesday, January 31, 2007, 7:12:05 PM, you wrote: > >> data Coord = Coord Float Float > >> view of Coord = Polar Float Float where > >> Polar r d= Coord (r*d) (r+d)-- construction > >> Coord x y | x

Re[4]: ADT views Re: [Haskell] Views in Haskell

2007-02-01 Thread Bulat Ziganshin
Hello J., Thursday, February 1, 2007, 1:36:33 AM, you wrote: > Yes - you've reiterated Wadler's original design, with an automatic > problems with equational reasoning raised by this approach. ok, i can live without it. i mean reasoning :) i guess that anything more complex than Turing machine

Re: Re[2]: ADT views Re: [Haskell] Views in Haskell

2007-01-31 Thread J. Garrett Morris
On 1/31/07, Bulat Ziganshin <[EMAIL PROTECTED]> wrote: i hope that now my idea is clear Yes - you've reiterated Wadler's original design, with an automatic creation of a type class. Erwig and Peyton-Jones, _Pattern Guards and Transformational Patterns_ (http://research.microsoft.com/~simonpj/

Re[2]: ADT views Re: [Haskell] Views in Haskell

2007-01-31 Thread Bulat Ziganshin
Hello David, Wednesday, January 31, 2007, 7:12:05 PM, you wrote: >> data Coord = Coord Float Float >> view of Coord = Polar Float Float where >> Polar r d= Coord (r*d) (r+d)-- construction >> Coord x y | x/=0 || y/=0 = Polar (x*y) (x+y)-- matching > This i

Re: ADT views Re: [Haskell] Views in Haskell

2007-01-31 Thread David Roundy
On Wed, Jan 31, 2007 at 05:53:08PM +0300, Bulat Ziganshin wrote: > something like this: > > data Coord = Coord Float Float > view of Coord = Polar Float Float where > Polar r d= Coord (r*d) (r+d)-- construction > Coord x y | x/=0 || y/=0 = Polar (x*y) (x+y)-

ADT views Re: [Haskell] Views in Haskell

2007-01-31 Thread Bulat Ziganshin
Hello Simon, Monday, January 22, 2007, 5:57:27 PM, you wrote: > adding "view patterns" to Haskell. many of us was attracted to Haskell because it has clear and simple syntax. but many Hugs/GHC extensions done by independent developers differ in the syntax they used, because these developers eith