nobsun $B$G$9!#(B

> > 
>Haskell$B$K$OKvHx:F5"(B($B$H!$$=$N:GE,2=(B)$B$O%5%]!<%H$5$l$F$$$k$N$G$7$g$&$+(B?
> > $B$I$&$bCY1dI>2A$HAj@-$,0-$=$&$JJ70O5$$,;G$($k$N$G$9$,!$(B
> > $B>\$7$$$3$H$O$^$@D4$Y$F$$$J$+$C$?$j$7$^$9(B($B$9$_$^$;$s(B)$B!%(B
> 
> $B$&!<$s!"(Bloop$B$r:F5"$GI=8=$9$k0J>e!"KvHx:F5"$N:GE,2=$O$7$F(B
> $B$b$i$o$J$$$H!V:$$k!W$H;W$&$N$G$9$,!"8@8l;EMM$NCf$K=q$$$F(B
> $B$"$k$+$I$&$+$O(Bnobsun$B$K$*4j$$$9$k$H$7$F!D(B ($BB>NOK\4j(B)

$BKvHx:F5"$N:GE,2=$K$D$$$F$O8@8l;EMM$K$O5,Dj$5$l$F$$$^$;$s!#(B($B$?$V$s(B^^;)
$BKvHx:F5"$N:GE,2=$O!"(Bapplicative order $B$N=hM}7O$G$O8z2LE*$G$9$,!"(B
normal order $B$N=hM}7O$G$O8z2L$,$"$^$j4|BT$G$-$J$$$H;W$$$^$9!#(B

$B$?$H$($P!"(Bfoldr $B$H(B foldl $B$r$D$+$C$F?tNs$NOB$r7W;;$9$k$3$H$r9M$($k$H(B

sum0, sum1 :: [Int] -> Int
sum0 = foldr (+) 0
sum1 = foldl (+) 0

sum0 $B$NJ}$OKvHx:F5"$G$O$"$j$^$;$s$,!"(Bsum1 $B$OKvHx:F5"$G$9(B
$B$H$3$m$,!"KvHx:F5"$G4|BT$7$?$$$N$O!"(B

sum1 [1..5] => foldl (+) 0 [1,2,3,4,5]
            => foldl (+) 1 [2,3,4,5]
            => foldl (+) 3 [3,4,5]
            => foldl (+) 6 [4,5]
            => foldl (+) 10 [5]
            => foldl (+) 15 []
            => 15
$B$N$h$&$J%W%m%;%9$G$9$h$M!#$G$b!"(BLazy $B$@$H(B

sum1 [1..5] => foldl (+) 0 [1,2,3,4,5]
            => foldl (+) (0+1) [2,3,4,5]
            => foldl (+) ((0+1)+2) [3,4,5]
            => foldl (+) (((0+1)+2)+3) [4,5]
            => foldl (+) ((((0+1)+2)+3)+4) [5]
            => foldl (+) (((((0+1)+2)+3)+4)+5) []
            => (((((0+1)+2)+3)+4)+5)
            => ((((1+2)+3)+4)+5)
            => (((3+3)+4)+5)
            => ((6+4)+5)
            => (10+5)
            => 15

$B$F$J6q9g$K$J$C$F$7$^$$$^$9!#(B

Haskell $B$G$O$3$l$r$I$&$7$F$$$k$+$O!"I8=`%W%l%j%e!<%I$N(B sum $B$NDj5A$r(B
$B8+$l$P$o$+$j$^$9!#(B

-- $B$3$l$+$i=P$+$1$F$7$^$$$^$9$N$G!"@bL@$O$H$j$"$($:!"(B
-- $B=IBj$H$$$&$3$H$K!#!#!#(B

--nobsun

--
ML: [EMAIL PROTECTED]
$B;H$$J}(B: http://QuickML.com/

メールによる返信