Hi,
I have a question about the following function.
I don't know how the definition after "where" are called.
For example, in ( D x2 (-y1) , b ++ b2 ) there is x2 defined in the
where-block. So does that mean that it calls the iteratin at line 7? But what is with
b2, does it also calls the line 7?
Who calls the definition in line 3 and who calls the def in line 7?
Many thanks
Andre
1 test :: ( D , [Int] ) -> ( D , [S] ) -> ( D , [Int] )
2 test ( D x y , b ) ( D dx dy , st ) = ( D x2 (-y1) , b ++ b2 )
3where ( x1 , y1 ) = head $ dropWhile ( ( > 0 ) . snd ) $ iterate inc (
x , y )
4
5 inc ( n , m ) = ( n+1 , m+1 )
6
7 ( b2 , x2 ) = head $ do
8 S ( D x3 sty ) pl _ sb <- st
9 guard $ sty == -y1
10 return ( [1,2,3] ++ sb , x3 + sb)
--
**
**
* André Betz * *
* -- * *
*EMail: [EMAIL PROTECTED] *WW*
* Web: http://www.andrebetz.de * /__\ *
* ICQ: 117759780 * | oo | _W_*
*Mobil: +49 (0)162 8847 391 * (|_()_|) / o o \ *
* Office: +49 (0)9131 82611 27* \__/ (| __O__ |) *
* Home: +49 (0)911 6695 558 * /|\/|\ \ \___/ / *
* Tel./Fax: +49 (0)89 1488 224189 * /---\ *
*Snail: Hirschelgasse 34* |=| *
* D-90475 Nürnberg* |=| *
**
**
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe