<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>

<HEAD>
<TITLE>About Haskell</title>
<style type="text/css">
  h3 { background-color : #aaffcc; padding : 3px;}
  h4 { background-color : #eeeeee; padding : 2px;}
  b  { color : blue; }
</style>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">

<p style="background-color : #eee;  padding : 5px;">
$B$3$NJ8>O$O(B<a href="http://www.haskell.org/aboutHaskell.html"> About Haskell(A Short Introduction to Haskell)</a>$B$r(B
<a href="http://www.yl.is.s.u-tokyo.ac.jp/~ganat">$B1JED>O?M(B</a>$B$,>!<j$KK]Lu$7$?$b$N$G$9!#Cx:n8"$J$I$KLdBj$,$"$k>l9g$OB(9oE15n$7$^$9$N$G!"(B<a href="mailto:ganat@yl.is.s.u-tokyo.ac.jp">$B1JED(B</a>$B$K8fO"Mm2<$5$$!#(B<br>
$B$A$J$_$KJ8>O$,$*$+$7$$$H$3$m$O1Q8l$K<+?.$,$J$$$H$3$m$G$9!#(B
$BI=8=$,4V0c$C$F$$$?$j!"8m?"$J$ID>$7$?J}$,$h$$$H$3$m$,$"$l$P@'Hs8f;XF3$/$@$5$$!#(B 
</p>

<h3> About Haskell </h3>
Haskell$B$O%W%m%0%i%_%s%08@8l$N0l$D$G$9!#(B $BFC$K(B
<i> $BB?Aj7?$K$h$j7?IU$1$5$l(B, $BCY1dI>2A$5$l$k(B, $B=c?h$J4X?t7?(B </i>  
$B$H$$$&E@$GB>$N8@8l$H$OBg$-$/0[$J$j$^$9!#(B
$B$3$N8@8l$O(B $B4X?t7?8@8l$N4pAC$H$J$k5-9fO@M}3X$K=>;v$7$?(B<a href="http://www.haskell.org/bio.html">Haskell Brooks
Curry</a>$B$K$A$J$s$GL>IU$1$i$l$^$7$?!#(B
Haskell$B$O(B<i>$B%i%`%@7W;;(B</i>$B$K4p$E$$$F$*$j!"$=$l$,%m%4$H$7$F%i%`%@$,;H$o$l$F$$$kM}M3$G$9!#(B

<h3> $B$J$<(BHaskell$B$r$D$+$&$N$+(B?</h3>
$B5pBg$J%=%U%H%&%'%"%7%9%F%`$r=q$/$3$H$O:$Fq$G%3%9%H$,$+$+$j$^$9!#(B
$B$=$l$i$N%7%9%F%`$r0];}$7$F$$$/$3$H$O$5$i$K:$Fq$G%3%9%H$,$+$+$j$^$9!#(B
Haskell$B$N$h$&$J4X?t7?8@8l$O$=$N:n6H$rMF0W$+$D0B2A$K$9$k$3$H$,$G$-$^$9!#(B
<p>
$B=c?h$J4X?t7?8@8l$G$"$k(BHaskell$B$O0J2<$rDs6!$7$^$9!#(B
<ul>
<li>$B<B<AE*$J%W%m%0%i%^$N@8;:@-$N8~>e(B(Ericsson$B$K$h$k(B $BEEOC$N%=%U%H%&%'%"$rMQ$$$?0lO"$N<B83$K$h$l$P!"(B9$B$+$i(B25$BG\$N8~>e$,(B $B8+$i$l$^$7$?(B)$B!#(B
<li>$BC;$/!"4J7i$G!"$h$jJ]<i@-$N9b$$%3!<%I!#(B
<li>$B%(%i!<$N>/$J$$!"9b$$?.Mj@-!#(B
<li>$B%W%m%0%i%^$H$N(B&quot;$B0UL#$N%.%c%C%W(B&quot;$B$,>.$5$$8@8l!#(B
<li>$BG<4|C;=L(B
</ul>
Haskell$B$OB?$/$N<oN`$N%"%W%j%1!<%7%g%s$KE,$7$?HFMQ@-$N9b$$8@8l$G$9!#(B $BFC$K2?EY$b=q$-D>$7$?$j%a%s%F%J%s%9$r9T$J$C$?$j$9$k%W%m%0%i%`$KE,$7$F$$$^$9!#(B
<P>
$B%=%U%H%&%'%"$N@8;:$G$O!"B?$/$N;~4V$,Hq$d$5$l$k$N$O(B<I>$B;EMM(B</I>$B$N7hDj!"(B<I>$B%G%6%$%s(B</I>$B!"(B <I>$B%a%s%F%J%s%9(B</I>$B$G$"$j!"(B<I>$B%W%m%0%i%_%s%0(B</I>$B<+BN$G$O$"$j$^$;$s!#(B
$B4X?t7?8@8l$O;EMM$r=q$/$N$K:GE,$G$9!#$=$N;EMM$OF1;~$K(B($B%F%9%H$H%G%P%C%0$b$G$-$k(B)$B<B9T2DG=$J%W%m%0%i%`$G$b$"$j!"(B
$B:G=*@.2LJ*$H$7$F$N%W%m%0%i%`$N:G=i$N%W%m%H%?%$%W$H$9$k$3$H$,$G$-$^$9!#(B

<P>
$BF1MM$K!"4X?t7?%W%m%0%i%`$G$O%3!<%I$,C;$/4J7i$K$J$j!"(B
$B873J$JI{:nMQ$N@)8f$K$h$jM=4|$N$G$-$J$$Aj8_:nMQ$rGS=|$9$k$3$H$,2DG=$J$?$a!"(B
$B%a%s%F%J%s%9$,$7$d$9$/$J$j$^$9!#(B

<h3>$B4X?t7?8@8l$H$O(B?</h3>

C, Java, Pascal, Ada$B$H$$$C$?8@8l$O(B <I>$BL?Na7?(B(imperative)</I>$B8@8l$G$9!#(B
$B$3$l$i$OC`<!<B9T$5$l$k%3%^%s%I$NNs$K$h$j9=@.$5$l$F$$$k$H$$$&0UL#$G(B&quot;$BL?Na7?(B&quot;$B$H8F$s$G$$$^$9!#(B
 Haskell$B$O(B<i>$B4X?t7?(B</i>$B8@8l$G$9!#4X?t7?%W%m%0%i%`$O$?$@0l$D$N<0$+$i$J$j!"(B
$B$=$l$,I>2A$5$l$k$3$H$K$h$j%W%m%0%i%`$O<B9T$5$l$^$9!#(B 
$BI=7W;;%=%U%H$r;H$C$?$3$H$,$"$k?M$O4X?t7?%W%m%0%i%_%s%0$r(B $B7P83:Q$_$@$H8@$($k$G$7$g$&!#(B
$BI=7W;;%=%U%H$G$O3F%;%k$NCM$r!"B>$N%;%k$NCM$r4p$K7hDj$7$^$9!#(B

$B$3$3$GCmL\$5$l$k$N$O(B <I>$B2?(B</I>$B$r7W;;$9$k$N$+$G$"$j!"(B 
<I>$B$I$&(B</I>$B7W;;$5$l$k$+$G$O$"$j$^$;$s!#(B $BNc$($P(B

<ul>
<li>$B%;%k$,7W;;$5$l$k=g=x$O;XDj$5$l$^$;$s!#(B-&nbsp;$B$=$NBe$o$j$K(B
 $BI=7W;;%=%U%H$,$=$l$>$l$N%;%k$N0MB8@-$K1~$8$F%;%k$N7W;;$r$7$F$/$l$k$G$"$m$&$H$$$&9M$($,:,Dl$K$"$j$^$9!#(B
<li>$BI=7W;;%=%U%H$,%a%b%j$r$I$N$h$&$KG[CV$9$k$+$r;XDj$9$k$3$H$O$"$j$^$;$s!#(B
-&nbsp;$B$`$7$m!"(B
$BI=7W;;%=%U%H$,I=LLE*$K$OL58B$N%;%k$NNs$,$"$k$h$&$K8+$;$F$/$l$F!"(B 
$B<B:]$K;HMQ$5$l$k;~$K=i$a$F%a%b%j$rG[CV$7$F$/$l$k$3$H$r4|BT$7$^$9!#(B
<li>$B$[$H$s$I$N>l9g!"3F%;%k$NCM$O!"$=$NCM$r7W;;$9$k$?$a$N(B<I>$B%3%^%s%I(B</I>$B$NNs(B
$B$G$O$J$/!"$?$@0l$D$N(B<I>$B<0(B</I>$B$K$h$j;XDj$5$l$^$9!#(B
($B<0$NCf$NItJ,<0$NI>2A=g$OLd$o$l$^$;$s(B)$B!#(B
</ul>
<p>
$B$3$NI=7W;;%=%U%H$K$*$1$k7W;;$N=g=x$,;XDj$5$l$J$$$H$$$&$3$H$+$i!"(B $BBeF~$H$$$&35G0$O$=$l$[$ILr$K$?$?$J$$$H$$$&LLGr$$$3$H$,8@$($^$9!#(B 
$B$H$j$o$1!"$b$7BeF~$,$$$D5/$3$k$+@53N$K$o$+$i$J$$$N$G$"$l$P!"$=$l$rM-8zMxMQ$9$k$3$H$O$G$-$^$;$s(B! 
$B$3$N$3$H$O!"(B $B4pK\E*$KBeF~J8$r?5=E$KJB$Y$F$$$/$3$H$K$h$j7W;;$r9=@.$7$F$$$/(B C$B8@8l$d!"%a%=%C%I$N8F$S=P$7=g$,=EMW$H$J$k(BJava$B$H$$$C$?$h$&$J47=,E*$J8@8l$H$O$+$J$jBP>NE*$G$9!#(B
<P>
$B$3$N(B $B%l%Y%k$NDc$$(B&quot;$B$I$&(B&quot; $B$G$O$J$/(B
$B%l%Y%k$N9b$$(B&quot;$B2?(B&quot; $B$K>GE@$rEv$F$F$$$k$N$,!"(B
$B4X?t7?8@8l$,B>$H:G$b0[$J$kFCD'$H8@$($^$9!#(B
<p>
$BB>$N$h$/$7$i$l$?4X?t7?8@8l$K6a$$8@8l$H$7$F!"(B $BI8=`E*$J%G!<%?%Y!<%9%/%(%j!<8@8l$G$"$k(B SQL$B$,$"$j$^$9!#(B SQL$B$N%/%(%j!<$OEj<M!"A*Br!"7k9g$J$I$r4^$a$?<0$K$J$j$^$9!#(B $B%/%(%j!<$K$O(B $B$I$N4X78$,7W;;$5$l$k$+$,5-=R$5$l!"$I$N$h$&$K7W;;$9$k$+$O(B $B5-=R$5$l$^$;$s!#(B $B$b$A$m$s%/%(%j!<$O$I$N$h$&$J=g=x$GI>2A$5$l$F$b9=$$$^$;$s!#(B SQL$B$N<BAu$NB?$/$O!"(B($B9M$(F@$kCf$G(B)$B:G$b:GE,$J<0$NI>2A=g=x$r8+$D$1$k$3$H$G(B $B%/%(%j!<$N:GE,2=$r9T$J$$$^$9!#(B
<p>
<h3>$B4X?t7?8@8l$N2?$,$$$$$N$+(B?</h3>

$BI=7W;;%=%U%H$d(BSQL$B$ON>J}$H$bFCJL$J>l9g$K$N$_;HMQ$5$l$k8@8l$G$9!#(B 
$B4X?t7?8@8l$OF1$8%"%$%G%"$rHFMQ%W%m%0%i%_%s%0$NNN0h$K:N$jF~$l$^$9!#(B
$B4X?t7?%W%m%0%i%`$,$I$N$h$&$J$b$N$G$"$k$+$o$+$C$F$b$i$&$?$a$K!"(B 
$B2<$K<($9$h$&$J%/%$%C%/%=!<%H$N%W%m%0%i%`$r8+$F$b$i$$$^$9!#(B 
$B$3$N(B2$B$D$N%W%m%0%i%`$O?tCM$NNs$r(B"$B%/%$%C%/%=!<%H(B"$B$H8F$P$l$k7W;;J}K!$G>:=g$KJB$YJQ$($k$b$N$G$9!#(B 
$B:G=i$N%W%m%0%i%`$O(B Haskell$B$G=q$+$l$F$*$j!"(B
2$B$D$a$N%W%m%0%i%`$O(BC$B$G=q$+$l$F$$$^$9!#(B

<h4>Haskell$B$G=q$+$l$?%/%$%C%/%=!<%H(B </h4>
<pre>
qsort []     = []
qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x
                 where
                   elts_lt_x   = [y | y &lt;- xs, y &lt; x]
                   elts_greq_x = [y | y &lt;- xs, y &gt;= x]
</pre>
<h4> C$B$G=q$+$l$?%/%$%C%/%=!<%H(B </h4>
<pre>
qsort( a, lo, hi ) int a[], hi, lo;
{
  int h, l, p, t;

  if (lo &lt; hi) {
    l = lo;
    h = hi;
    p = a[hi];

    do {
      while ((l &lt; h) &amp;&amp; (a[l] &lt;= p)) 
          l = l+1;
      while ((h &gt; l) &amp;&amp; (a[h] &gt;= p))
          h = h-1;
      if (l &lt; h) {
          t = a[l];
          a[l] = a[h];
          a[h] = t;
      }
    } while (l &lt; h);

    t = a[l];
    a[l] = a[hi];
    a[hi] = t;

    qsort( a, lo, l-1 );
    qsort( a, l+1, hi );
  }
}
</pre>
$B$=$l$G$O(BHaskell$B$d4X?t7?%W%m%0%i%_%s%0$N2?$,$$$$$N$+9M$($F$_$^$7$g$&!#(B $B4X?t7?%W%m%0%i%_%s%0$N$h$j>\:Y$J;vNc$K$D$$$F$O!"(B 
<BLOCKQUOTE>
<A
HREF="http://www.md.chalmers.se/~rjmh/Papers/whyfp.html"><STRONG>Why
Functional Programming Matters</STRONG></A> by <A
HREF="http://www.md.chalmers.se/~rjmh/">John Hughes</A>, The Computer
Journal, Vol. 32, No. 2, 1989, pp. 98 - 107. Also in: David A. Turner
(ed.): Research Topics in Functional Programming, Addison-Wesley,
1990, pp. 17 - 42. 
(<a href="http://www.sampou.org/haskell/article/whyfp.html">$B;32<?-IW$5$s$K$h$kK.Lu(B : $B$J$<4X?t%W%m%0%i%_%s%0$O=EMW$+(B</a>)
</BLOCKQUOTE>
$B$G8+$D$1$k$3$H$,$G$-$^$9!#>e$NO@J8$K1F6A$5$l$?$"$^$j%U%)!<%^%k$G$J$$%(%C%;%$$H$7$F(B
<BLOCKQUOTE>
<A
HREF="http://www.haskell.org/complex/why_does_haskell_matter.html"><STRONG>Why Does Haskell Matter</STRONG></A> by <A HREF="mailto:sylvan@dtek.chalmers.se">Sebastian Sylvan</A>
</BLOCKQUOTE>
$B$,$"$j$^$9!#(B

<h4> 1. $B4J7i$5(B </h4>
$B4X?t7?%W%m%0%i%`$OL?Na7?$NBP1~$9$k%W%m%0%i%`$KHf$Y$F!"$+$J$j(B<B>$B4J7i(B</B>$B$K$J$k798~$K$"$j$^$9!#%/%$%C%/%=!<%H$O$+$J$j82Cx$JNc$G$9$,!"0lHLE*$K4X?t7?%W%m%0%i%`$O(B(2$BG\$+$i(B10$BG\(B) $BC;$$%W%m%0%i%`$K$J$j$^$9!#(B
<h4> 2. $BM}2r$N$7$d$9$5(B </h4>
$B4X?t7?%W%m%0%i%`$OB?$/$N>l9g(B<B>$BM}2r(B</B>$B$,MF0W$G$9!#(B 
Haskell$B$NCN<1$b!"%/%$%C%/%=!<%H$NCN<1$,A4$/L5$/$H$b(B 
$B%W%m%0%i%`$rM}2r$9$k$3$H$,$G$-$k$G$7$g$&!#(B 
C$B$N%W%m%0%i%`$G$O$=$&$O$$$-$^$;$s!#(BC$B$G$OM}2r$9$k$N$KD9$$;~4V$+$+$C$?>e!"(B
$B$A$g$C$H$7$?4V0c$$$r$7$F$7$^$$!"@5$7$/$J$$%W%m%0%i%`$,$G$-$"$,$k$N$,Mn$A$G$7$g$&!#(B 
Haskell$B$N%/%$%C%/%=!<%H$r>\$7$/@bL@$7$^$9!#(B
<blockquote>
<pre>
qsort []     = []
qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x
		 where
		   elts_lt_x   = [y | y &lt;- xs, y &lt; x]
		   elts_greq_x = [y | y &lt;- xs, y &gt;= x]
</pre>
$B:G=i$N9T$O$3$&FI$`$3$H$,$G$-$^$9(B: 
"$B6u$N%j%9%H(B(<tt>[]</tt>$B$H=q$+$l$F$$$k(B)$B$r%=!<%H$7$?7k2L$O6u$N%j%9%H(B"$B!#(B 
$BF1MM$K(B2$B9TL\$O$3$&FI$`$3$H$,$G$-$^$9(B: " $B:G=i$NMWAG$,(B<tt>x</tt>$B$G!"(B
$B;D$j$NMWAG$,(B<tt>xs</tt>$B$G$"$k$h$&$J%j%9%H$r(B $B%=!<%H$9$k$?$a$K$O!"(B
<tt>xs</tt>$B$N$&$A(B<tt>x</tt>$B$h$j>.$5$$A4$F$NMWAG(B (<tt>elts_lt_x</tt>$B$H$9$k(B)$B$H!"(B
 <tt>xs</tt>$B$N$&$A(B<tt>x</tt>$B$HEy$7$$$+(B<tt>x</tt>$B$h$jBg$-$$A4$F$NMWAG(B (<tt>elts_greq_x<tt>$B$H$9$k(B)$B$H(B
$B$r$=$l$>$l%=!<%H$7!"$=$l$>$l$N7k2L$K(B<tt>x<tt>$B$r(B $B??$sCf$K64$_9~$_7k9g(B(<tt>++<tt>)$B$7$m!#(B

<tt>elts_lt_x</tt>$B$NDj5A$O$9$02<$GM?$($i$l$F$$$^$9(B : 
$B%j%9%H(B<tt>xs</tt>$B$+$i0z$-=P$5$l$?MWAG(B<tt>y</tt>$B$N$&$A!"(B 
<tt>x</tt>$B$h$j>.$5$$A4$F$N(B<tt>y</tt>$B$N%j%9%H(B"$B!#(B <tt>elts_greq_x</tt>$B$NDj5A$bF1MM$G$9!#(B
$B$3$N9=J8$O!"(B"|"$B$r(B "such that"$B!"(B "&lt;-"$B$r(B"$B<h$j=P$9(B(drawn from)"$B$HFI$`$3$H$G!"(B
$BI8=`E*$J?t3X$N=89g$NI=5-$r(B $BO"A[$G$-$k$h$&$K$J$C$F$$$^$9!#(B

$B6u$G$O$J$$%j%9%H$r%=!<%H$9$k$h$&$KMW5a$5$l$?$H$-!"(B<tt>qsort</tt>$B$O(B<tt>elts_lt_x</tt>$B$H(B
 <tt>elts_greq_x</tt>$B$r%=!<%H$9$k$?$a$K<+J,<+?.$r8F$S=P$7$^$9!#(B
$B$3$l$i$N%j%9%H$O85$N(B<tt>qsort</tt>$B$KM?$($i$l$?%j%9%H$h$j$b>.$5$$$N$G(BOK$B$G$9!#(B
$B$=$N$h$&$K$7$F!"$3$NJ,$1$F%=!<%H$9$k$H$$$&%W%m%;%9$K$h$j!"BP>]$H$J$k%j%9%H$O6u$N%j%9%H$^$GC;$/$J$j$^$9!#(B
$B6u$N%j%9%H$N%=!<%H$O(B<tt>qsort</tt>$B$N:G=i$N9T$GM?$($i$l$?!"(B
$B$[$\<+L@$NJ}K!$G%=!<%H$5$l$^$9!#(B 

</blockquote>

<h4> 3. $B%3%"%@%s%W$,$J$$(B</h4>
Haskell$B$r;O$a$H$9$kB?$/$N4X?t7?8@8l$O(B<B>$B6/$/7?IU$1(B</B>$B$5$l!"(B 
$B%W%m%0%i%^$,$7$,$A$JB?$/$N<oN`$N%P%0$r%3%s%Q%$%k;~$K<h$j=|$/$3$H$,$G$-$^$9!#(B
$BFC$K6/$/7?IU$1$5$l$k$3$H$O(B<B>$B%3%"%@%s%W$,$J$$(B!</B>$B$H$$$&$3$H$r0UL#$7$^$9!#(B 
$B$3$l$OC1=c$K@0?t$r%]%$%s%?$H$7$F07$&$3$H$d!"(B
null$B%]%$%s%?$rC)$k$H$$$C$?$3$H$,$J$$$?$a$G$9!#(B

<h4> 4. $B%3!<%I$N:FMxMQ(B</h4>
$B$b$A$m$s6/$$7?IU$1$O(BAda$B$d(BPascal$B$N$h$&$JB?$/$NL?Na7?8@8l$G$bMxMQ2DG=$G$9!#(B 
$B$7$+$7!"(BHaskell$B$N7?%7%9%F%`$O!"Nc$($P(BPascal$B$N$=$l$KHf$Y!"(B
$B<+M3EY$,9b$/$J$C$F$$$^$9!#$=$l$O(B<B>$BB?Aj7?(B</B>$B$r<h$j07$&$3$H$,$G$-$k$+$i$G$9!#(B 
$BNc$($P?^(B1$B$GM?$($i$l$?%/%$%C%/%=!<%H$N(B
$B%W%m%0%i%`$O@0?t%j%9%H$N$_$r%=!<%H$9$k$N$G$O$J$/!"(B 
$BIbF0>.?tE@?t$N%j%9%H$dJ8;z$N%j%9%H!"%j%9%H$N%j%9%H$J$I(B
$B!"(B&lt;(less-than)$B$H(B &gt;(greater-than)$B1i;;;R$GHf3S=PMh$kMWAG$r(B
$B;}$D$I$s$J%j%9%H$G$b%=!<%H$9$k$3$H$,=PMh$k$G$7$g$&!#(B 
$B$=$l$H$OBP>]E*$K!"(BC$B$N%P!<%8%g%s$G$O@0?t$NG[Ns$N$_$K8B$i$l$F$7$^$$$^$9!#(B
<P>
$BB?Aj7?$O:FMxMQ@-$r9b$a$k$N$G$9!#(B
<h4> 5. $B6/$$8R(B</h4>
$BHs873J$J4X?t7?8@8l$K$O!"Ez$rF@$k$N$KI,MW$JJ,$@$1%W%m%0%i%`$rI>2A$9$k!"(B
$B$H$$$&$b$&0l$D$N6/NO$JFCD'$,$"$j$^$9!#(B 
$B$3$N$3$H$O(B<B>$BCY1dI>2A(B(lazy evaluation)</B>$B$H8F$P$l$F$$$^$9!#(B
$B$3$NFCD'$O(B Unix$B$N%Q%$%W$K(B $B;w$F$$$k$+$b$7$l$^$;$s!#(B $BNc$($P(B Unix$B$N%3%^%s%I$N(B
<pre>
grep printf Foo.c | wc
</pre>
$B$O(B <tt>Foo.c</tt> $B$H$$$&%U%!%$%k$NCf$N(Bprintf$B$H$$$&J8;zNs$r4^$`9T$N?t$r?t$($^$9!#(B 
&quot;<tt>grep printf Foo.c</tt>&quot;$B$H$$$&%3%^%s%I$,(B&quot;<tt>printf</tt>&quot;$B$r4^$`A4$F$N9T$rH4$-=P$7$F$/$k0lJ}$G!"(B
&quot;<tt>wc</tt>&quot;$B%3%^%s%I$,$=$l$i$N?t$r?t$($^$9!#(B
 &quot;<tt>|</tt>&quot;$B$H=q$+$l$F$$$k$N$O%Q%$%W$G!"(B
$B:G=i$N%3%^%s%I$N=PNO$r<u$1$H$j!"#2$DL\$N%W%m%0%i%`$XEO$9LrL\$r$7$^$9!#(B
$B#2$D$N%3%^%s%I$OF1;~$K<B9T$5$l!":G=i$N%3%^%s%I$N(B 
$B=PNO$O4vJ,$NCY$l$O$"$k$K$7$F$b!"$=$ND>8e$K;HMQ$5$l$k$3$H$K$J$j$^$9!#(B 
$B$3$NJ}K!$G$OBg$-$JCf4V%U%!%$%k$r@8@.$9$kI,MW$O$"$j$^$;$s!#(B 
<tt>wc</tt> $B$O(B<tt>grep</tt>$B$+$i=PNO$5$l$k9T$K(B&quot;$B0MB8$7$F$$$k(B&quot;
$B$H9M$($k$3$H$,$G$-$^$9!#(B

<P>
$B$b$7!"(B2$B$DL\$N%3%^%s%I$,:G=i$N%3%^%s%I$N=PNO$N$&$A$N0lIt$7$+;HMQ$7$J$$$N$G$"$l$P!":G=i$N%3%^%s%I$O(B $B:G8e$^$G<!0J9_$9$kI,MW$O$J$$$+$b$7$l$^$;$s!#Nc$($P(B

<pre>
grep printf Foo.c | head 5
</pre>
$B$O(B &quot;<tt>printf</tt>&quot;$B$,4^$^$l$F$$$k9T$N$&$A$N:G=i$N(B5$B9T$@$1$rI=<($7$^$9!#(B 
<tt>grep</tt>$B$r<B9T$,CfCG$5$l$k$+$b$7$l$J$$$H$$$&$3$H$r9MN8$K$$$l$?(B
$B%W%m%0%i%`$K=q$-D>$9I,MW$O$"$j$^$;$s!#(B

<p>
$BHs873J$J8@8l$O$3$N$h$&$J<oN`$NMW5a6nF07?$NI>2AJ}K!$rDs6!$7$^$9!#(B
$B%G!<%?9=B$$OEz$rF3$/$N$K==J,$H$J$kJ,$@$1I>2A$5$l!"(B 
$B7k6II>2A$5$l$J$$$h$&$JItJ,<0$b4^$s$G$$$k$+$b$7$l$^$;$s!#(B 
Unix$B$N%3%^%s%I$NNc$G$o$+$k$h$&$K!"(B
$B$3$N$3$H$O4{B8$N%W%m%0%i%`$rAH$_9g$o$;$k$?$a$N6/NO$J(B&quot;$B8R(B&quot;$B$rDs6!$7$F$$$^$9!#(B
 $B$3$N$3$H$OL?Na7?$G=q$/>l9g$h$j$b!"(B
$B%W%m%0%i%`$r(B<B>$B:FMxMQ(B</B>$B@-$N9b$$>.$5$$$J%W%m%0%i%`$KJ,3d$G$-$k$3$H$rI=$7$F$$$^$9!#(B
$BCY1dI>2A$K$h$j!"$h$j(B<B>$B%b%8%e!<%k@-$N9b$$(B</B>$B%W%m%0%i%`$r=q$/$3$H$,2DG=$H$J$j$^$9!#(B

<h4> 6. $B6/NO$JCj>]2=(B</h4>

$B0lHL$K!"4X?t7?8@8l$O(B<B>$BCj>]2=(B</B>$B$r%+%W%;%k2=$9$k$?$a$N6/NO$G?7$7$$J}K!$r;}$C$F$$$^$9!#(B
$BCj>]2=$K$h$jFbIt$NF0:n$r1#JC$7$?%*%V%8%'%/%H$rDj5A$9$k$3$H$,2DG=$H$J$j$^$9!#(B
 $BNc$($P!"(BC$B8@8l$N<jB3$-$O$R$H$D$NCj>]2=$H$$$&$3$H$,$G$-$^$9!#(B
$BCj>]2=$O%b%8%e!<%k@-$,9b$/%a%s%F%J%s%9$N$7$d$9$$%W%m%0%i%`$r9=C[$9$k!"(B
 $B$^$5$K$=$N(B<I>$B80(B</I>$B$H$J$j$^$9!#=>$C$F!"?7$7$$8@8l$KBP$7$F(B
 "$BCj>]2=$N$?$a$N$I$&$$$&%a%+%K%:%`$,Ds6!$5$l$F$$$k$+(B?"
$B$H$$$&$3$H$,$h$/Ld$o$l$^$9!#(B

<P>
$B4X?t7?8@8l$K$*$1$k6/NO$JCj>]2=$N%a%+%K%:%`$K(B<B>$B9b3,4X?t(B</B>$B$,$"$j$^$9!#(B
 Haskell$B$G$O4X?t$O%U%!!<%9%H%/%i%9$G$9!#(B 
: $B4X?t$OB>$N4X?t$X<+M3$KEO$9$3$H$,=PMh$k$7!"(B 
$B4X?t$NJV$jCM$H$7$FJV$9$3$H$b$G$-!"%G!<%?9=B$$NCf$K3JG<$7$?$j$G$-$^$9!#(B
$B9b3,4X?t$rE,@Z$K;H$&$3$H$K$h$jB?$/$N%W%m%0%i%`$N9=B$$d%b%8%e!<%k@-$r8~>e$5$;$k$3$H$,$G$-$^$9!#(B

<h4> 7. $BAH$_9~$_$N%a%b%j4IM}(B</h4>
$BB?$/$N:G6a$N%W%m%0%i%`$G$O%R!<%WNN0h$N%a%b%j$NF0E*3NJ]$rI,MW$H$7$^$9!#(B 
C$B$G$O$3$l$O(B <tt>malloc</tt>$B$r8F$S=P$9$3$H$K$h$j9T$J$o$l!"(B 
$B$=$N$"$H$=$NNN0h$r=i4|2=$9$k%3!<%I$,B3$-$^$9!#(B
$B$=$NNN0h$,I,MW$J$/$J$C$?;~$K(B $B<+M3$K;HMQ$G$-$k%a%b%j$N%W!<%k$X$HLa$9$N$O%W%m%0%i%^$N@UG$$G$"$j!"(B
$B$3$l$,0-L>9b$$(B&quot;dangling-pointer&quot;$B%(%i!<$N85$H$J$j$^$9!#(B 
$B$5$i$K!"(B<tt>malloc</tt> $B$O$+$J$j$N9k2Z$J4X?t$G$"$k$?$a!"(B
$B%W%m%0%i%^!<$,(B <tt>malloc</tt>$B$K$h$j0l$D$NBg$-$J2t$r3NJ]$7$F!"(B
$B$=$NCf$+$i(B&quot;$B<jF0$G(B&quot; $B3NJ]$9$k$3$H$b$h$/$"$j$^$9!#(B

<p>
$BA4$F$N4X?t7?8@8l$O%W%m%0%i%^$r$3$N=E2Y$+$i2rJ|$5$;$F$/$l$^$9!#%a%b%j3NJ]$H=i4|2=$O0EL[$N$&$A$K9T$J$o$l!"3NJ]$5$l$?NN0h$O%,!<%Y%8%3%l%/%?!<$K$h$j<+F0E*$K2s<}$5$l$^$9!#(B $B$3$N5-21NN0h$N3NJ]$H%,!<%Y%8%3%l%/%7%g%s$N5;=Q$O8=:_$G$OE,EY$K@.=O$7$F$*$j!"(B $B>.$5$$%3%9%H$G<B9T$G$-$^$9!#(B

<h3>C$B$NJ}$,$h$$>l9g(B</h3>
$B$b$A$m$s4X?t7?8@8l$,A4$F$K$*$$$F>!$C$F$$$k$o$1$G$O$"$j$^$;$s!#(B 
C$B$N%/%$%C%/%=!<%H$O(B Hoare$B$K$h$j$"$_$@$5$l$?G[Ns$r(B<I>$BCV$-49$($k(B</I>
$B$3$H$G%=!<%H$r9T$&$H$$$&6K$a$F9*L/$J%F%/%K%C%/$rMQ$$$F$$$k$?$a!"(B
$BM>7W$J5-21NN0h$r;H$&I,MW$,$"$j$^$;$s!#!!(B
$B7k2L$H$7$F!">/$J$$%a%b%j;HMQ$G9bB.$K<B9T$5$l$^$9!#!!(B
$B$=$l$H$OBP>HE*$K(BHaskell$B$N%W%m%0%i%`$ON"$GB?$/$NM>7W$J%a%b%j$N3NJ]$r9T$C$F$*$j!"(B
C$B$N%W%m%0%i%`$h$j$b<B9T$,CY$/$J$j$^$9!#(B

<p>
$BMW$9$k$K!"(BC$B$N%/%$%C%/%=!<%H$OFI$_$d$9$5$H0z$-49$($K!"(B
$B5-21NN0h$N%3%9%H$r8:$i$9$?$a$N$+$J$j9*L/$J5-21NN0h4IM}$r9T$C$F$$$^$9!#(B

<P>
$B%Q%U%)!<%^%s%9$,:G$b=E;k$5$l$k$h$&$J%"%W%j%1!<%7%g%s$d!"(B
$BDc%l%Y%k$N%"%k%4%j%:%`$K$h$j:YIt$r%A%e!<%K%s%0$9$k$3$H$,L\E*$N>l9g$O!"(B
$B7W;;$,$I$&<B9T$5$l$k$+$r$h$jLJL)$K@)8f$9$k%3!<%I$rDs6!$G$-$k$?$a!"(B
C$B$N$h$&$JL?Na7?8@8l$NJ}$,(BHaskell$B$rA*$V$h$j$b8-L@$G$7$g$&!#(B

<h4>$B4X?t7?!!(Bvs $BL?Na7?(B</h4>
$B$7$+$7!"2?$h$j$b%Q%U%)!<%^%s%9$,5a$a$i$l$k$h$&$J%W%m%0%i%`$H$$$&$N$O$=$l$[$IB?$/$"$j$^$;$s!#(B
$B2?$H$$$C$F$b!"Bg@N$NFbIt%k!<%W$r;D$7!"(B
$B2f!9$O3'%"%;%s%V%i$G%W%m%0%i%`$r=q$/$3$H$r$d$a$^$7$?!#!!(B
 $B$h$j%5%]!<%H$N9b$$%W%m%0%i%_%s%0%b%G%k(B($BG$0U$NL>A0IU$-?t!"7h$^$C$?8D?t$N%l%8%9%?$NBe$o$j$H$J$k%m!<%+%kJQ?t$J$I(B)$B$r:NMQ$9$k$3$H$K$h$kMx1W$O!"(B
$B<B9T;~$N%3%9%H$r2!$($k$3$H$h$j$b$O$k$+$K=EMW$G$9!#(B
<P>
$BF1MM$K!"2>A[%a%b%j%Z!<%8%s%0%7%9%F%`$O4n$s$G<u$1F~$l$i$l$F$$$^$9!#L58B$N2>A[%"%I%l%9%9%Z!<%9$J$I$N$h$j%5%]!<%H$N9b$$%W%m%0%i%_%s%0%b%G%k$rF@$k$3$H$,$G$-$F$$$^$9!#!!:#F|!"L@<(E*$J%a%b%j$N=E$MIU$1$O=*$o$j$^$7$?!#(B
<P>
$B4X?t7?8@8l$O9b$$%l%Y%k$N%W%m%0%i%_%s%0%b%G%k$X8~$1$FBg$-$J%9%F%C%W$rF'$b$&$H$7$F$$$^$9!#(B
$B%W%m%0%i%`$O$h$j%G%6%$%s!"5-=R!"J]<i$,$7$d$9$/$J$j$^$9$,!"(B
$B%^%7%s$N>\:Y$J@)8f$O$G$-$J$/$J$j$^$9!#(B
$B$3$N$3$H$O$[$H$s$I$N%W%m%0%i%`$K$H$C$F5vMFHO0OFb$G$9!#(B


<h3>Haskell$B$H$O2?$+(B?</h3>

Haskell $B$O6aBeE*$+$DI8=`E*$GHs873J$J=c?h$J4X?t7?%W%m%0%i%_%s%08@8l$G$9!#(B
$BB?Aj7?!"CY1dI>2A!"9b3,4X?t$J$I!">e5-$NFCD'$OA4$FHw$($F$$$^$9!#(B
$B$^$?!"%*!<%P!<%m!<%IBN7OE*$J9=@.$d%b%8%e!<%k%7%9%F%`$r%5%]!<%H$7$?3W?7E*$J7?%7%9%F%`$b;}$C$F$$$^$9!#(B
<p>
$BI=8=NO$N$"$k9=J8!"=>Mh$N@0?t$dIbF0>.?tE@?t!"(B
$B??56CM7?$K2C$(G$0U@:EY$N@0?t$dM-M}?t(B $BK-IY$JAH$_9~$_%G!<%?7?$rHw$($F$*$j!"(B
$B?tCM7W;;$+$iCj>]E*$J%"%W%j%1!<%7%g%s$^$GI}9-$/%5%]!<%H$G$-$k$3$H$K!"(B
$B=EE@$r$*$$$F%G%6%$%s$5$l$F$$$^$9!#(B 


<p>
$BB?$/$N(B
<a href="http://www.haskell.org/implementations.html">$B<BAu(B</a>$B$,MxMQ2DG=$G!"A4$F%U%j!<$H$J$C$F$$$^$9!#(B
$B=i?4<T$NJ}$K$O(B $B7ZNL$G2DHB@-$N9b$$(B Haskell$B%$%s%?%W%j%?$G$"$k(B
<a href="http://haskell.org/hugs"> Hugs </a>$B$r$*4+$a$7$^$9!#(B

<h3> $BC/$+4X?t7?%W%m%0%i%_%s%0$r;H$C$F$$$k?M$O$$$^$9$+(B?</h3> 

$B4X?t7?%W%m%0%i%_%s%08@8l$OB?$/$N%"%W%j%1!<%7%g%s$G;HMQ$5$l$F$$$^$9!#Nc$H$7$F(B
<ul>
<li>
$B%I%$%D$NM-L>$J%=%U%H%&%'%"2q<R$G$"$k(BSoftware AG$B$O!"(B
$B4X?t7?8@8l$G%W%m%0%i%`$5$l$?%(%-%9%Q!<%H%7%9%F%`(B($B%J%A%e%i%k%(%-%9%Q!<%H(B)$B$r>&IJ2=$7$F$$$^$9!#(B
$BH`$i$O!"GX8e$K$"$k%G!<%?%Y!<%9%7%9%F%`$K%"%/%;%9$9$k%"%W%j%1!<%7%g%s$r3+H/$9$k$N$K!"(B
$B$3$&$$$C$?8@8l$rMxMQ$9$k$HMF0W$K$J$k$H9M$($F$$$^$9!#(B
$B$3$l$i$OA4$F(BIBM$B$N%a%$%s%U%l!<%`>e$GF0:n$7$F$$$^$9!#(B
<li>
 Ericsson$B$OL$Mh$NEEOC$N%"%W%j%1!<%7%g%s$K8~$1!"(B
Erlang$B$H$$$&?7$7$$4X?t7?8@8l$r3+H/$7$^$7$?!#(B
$BH`$i$O4{$K(B130,000$B9T$K5Z$V(BErlang$B$N%"%W%j%1!<%7%g%s$r=q$$$F$*$j!"(B
$BC;$/5-=R$G$-3+H/$,Aa$$$H8@$C$F$$$^$9!#(B
<li>
Amoco $B$O!"(B
 $BH`$i$N=jM-$9$k%a%$%s$N%*%$%kCyB"CS$N%7%_%e%l!<%7%g%s$r9T$J$&=EMW$J%"%W%j%1!<%7%g%s$N(B
$BBgNL$N%3!<%I$r!"4X?t7?8@8l$G=q$-D>$9$H$$$&<B83$r9T$J$$$^$7$?!#(B
$B=PMh>e$,$C$?%W%m%0%i%`$OHs>o$K>.$5$/!"(B
$B=q$-D>$7$?$3$H$G4{B8$N%"%W%j%1!<%7%g%s$K$OB?$/%(%i!<$,$"$C$?$3$H$,$o$+$j$^$7$?!#(B
$B$=$N8e!"(BAmoco$B$O4X?t7?%W%m%0%i%`$r=q$-D>$7$h$$7k2L$r;D$7$^$7$?!#(B
<li>
 MITRE$B<R$N%j%5!<%A%c!<$O%G%8%?%k%7%0%J%k%W%m%;%C%7%s%0%"%W%j%1!<%7%g%s$N%W%m%H%?%$%W:n@.$K(BHaskell$B$r;H$C$F$$$^$9!#(B
<li> Durham$BBg3X$N%j%5!<%A%c!<$O<+A38@8lM}2r$N$?$a$N(B30,000$B9T$N%W%m%0%i%`(BLOLITA$B$r:n@.$9$k#7G/1[$7$N%W%m%8%'%/%H$K4X?t7?8@8l$r;HMQ$7$^$7$?!#(B
<li> Query$B$H$O(BO2$B$H$$$&%*%V%8%'%/%H;X8~%G!<%?%Y!<%9%7%9%F%`$N%/%(%j!<8@8l$G$9!#(BO2Query$B$O$*$=$i$/$[$H$s$I$NF~$jAH$s$@>&MQMxMQ$,2DG=$J%*%V%8%'%/%H;X8~%G!<%?%Y!<%9%/%(%j!<8@8l$G$"$j!"$=$l$O4X?t7?8@8l$G$9!#(B
<li>
ICAD Inc $B$O5!3#5;;U$d9R6u5;;U8~$1$N(BCAD$B%7%9%F%`$r>&IJ$H$7$F$$$^$9!#(B
$B5;;UC#$,<+J,$N%G%6%$%s$r5-=R$9$k8@8l$O4X?t7?8@8l$G!"(B
$B$=$3$G$O!"%G%6%$%sCf$N8=:_%9%/%j!<%s$K<L$7=P$5$l$F$$$J$$ItJ,$,:F7W;;$5$l$k$N$r(B
$BHr$1$k$?$a$KCY1dI>2A$,MQ$$$i$l$F$$$^$9!#(B
$B$3$l$K$h$j%Q%U%)!<%^%s%9$,BgI}$K8~>e$7$^$9!#(B
<li>$BGSB>E*$JNc(B :   Glasgow Haskell $B%3%s%Q%$%i(B(ghc) $B$O(B Haskell$B$G(B 30,000$B9TDxEY$G(B $B5-=R$5$l$F$$$^$9!#(B
</ul>
$B$J$I$,$"$j$^$9!#(B<br>
$B$=$NB>$NNc$K$D$$$F$O$3$N%5%$%H$N(BHaskell in practice$B$r;2>H$7$F$/$@$5$$!#(B

<h3>$B$=$NB>$N$h$/$"$k<ALd(B</h3>

<i>$B4X?t7?%W%m%0%i%_%s%0$r3X$V$N$OFq$7$$$G$9$+(B?</i>
<blockquote>
$B3N$+$K4X?t7?%W%m%0%i%_%s%0$O8+J}$rJQ$($k$3$H$rMW5a$7$F$*$j!"(B
$B$=$l$rFq$7$$$H46$8$k%W%m%0%i%^$b$$$^$9!#(B
$B$7$+$7!"(BErlang$B$N(BEricsson$B$K$h$k%W%m%0%i%^$N%H%l!<%K%s%0$N<B83$G$O!"(B
$B%W%m%0%i%^$,(B $B0lD+0lM<$G$G$-$k$H9M$($:$K!"??7u$K%H%l!<%K%s%0$r9T$J$($P!"(B
$BB?$/$N>l9g$O0\9T$OMF0W$$$H$7$F$$$^$9!#(B
</blockquote>
<I>$B4X?t7?%W%m%0%i%`$OCY$$$N$G$O$J$$$G$9$+(B?</i>
<blockquote>
$B$+$D$F$O$=$&$G$7$?$,!"8=:_$G$O%3%s%Q%$%i$,DI$$$D$$$FMh$^$7$?!#(B
$B%Q%U%)!<%^%s%9Bg$-$/0MB8$9$k%"%W%j%1!<%7%g%s$r=|$1$P!"(B
$BA4$F$N(BHaskell$B%W%m%0%i%`$O==J,$JB.$5$G<B9T$9$k$3$H$,$G$-$^$9!#(B
</blockquote>

<i>C$B$^$?$O(BC++$B$G=q$+$l$?Bg5,LO%"%W%j%1!<%7%g%s$,4{$K$"$k$N$G$9$,!"(B
$B%7%9%F%`$NA4BN$r=q$-D>$5$:$K4X?t7?8@8l$N287C$r<u$1$k$3$H$,$G$-$^$9$+(B?</i>
<blockquote>
Haskell$B$O(B $B4{B8$N%"%W%j%1!<%7%g%s$K$$$m$$$m$JJ}K!$G9*$_$KE}9g$5$l$FMh$^$7$?!#(B
<a href="http://www.haskell.org/hdirect/">HaskellDirect</a>$B$O(B
IDL (Interface Description Language)$B%Y!<%9$N%D!<%k$G!"(B
$B$3$l$K$h$j(BHaskell$B%W%m%0%i%`$rB>$N%=%U%H%&%'%"%3%s%]%M%s%H$HF1;~$K;H$&$3$H$,$G$-$^$9!#(B 
C/C++$B$X$NDc%l%Y%k%$%s%?%U%'!<%9$O(B<a href="http://www.haskell.org/greencard">Green Card</a>$B$G:n@.$9$k$3$H$,$G$-$^$9!#(B
$B$3$l$K$h$j(B Haskell$B$H(BC$B$N6/NO$JE}9g$,2DG=$G$9!#(B 
$B$3$l$i$N%D!<%k$r;H$C$FB?$/$NB?8@8l$+$i9=C[$5$l$?B?$/$N%7%9%F%`$,!"@.8y$rG<$a$F$$$^$9!#(B
</blockquote>

<i> Haskell$B$,%5%]!<%H$7$F$$$k%i%$%V%i%j$K$O$I$&$$$&$b$N$,$"$j$^$9$+(B?</i>
<blockquote>
$BB?$/$N(BHaskell$BMQ%=%U%H%&%'%"%i%$%V%i%j$,3+H/$5$l$^$7$?!#(B<a
href="http://www.haskell.org/libraries"> list of Haskell libraries </a>$B$KMxMQ2DG=$J%i%$%V%i%j$NA4%j%9%H$,$"$j$^$9!#(B
</blockquote>

<i> $B$=$NB>$N(BHaskell$BMQ$N%=%U%H%&%'%"%D!<%k$K$O$I$s$J$b$N$,$"$j$^$9$+(B?</i>
<blockquote>
Glasgow Haskell$B$G$O%W%m%U%!%$%i$,MxMQ$G$-$^$9!#(B
$B$3$l$K$h$j$"$J$?$N%W%m%0%i%`$NCf$N$I$NItJ,$,!"(B
$B<B9T;~4V$N%a%b%j%9%Z!<%9$N$[$H$s$I$N3d9g$r>CHq$7$F$$$k$+$,$o$+$j$^$9!#(B
Chalmers Haskell$B$O%9%Z!<%9%W%m%U%!%$%j%s%0%D!<%k$H!"(B
$B%W%m%0%i%`$rJBNs$KF0$+$7$?>l9g$N<B83$,$G$-$k(Bquasi-paralell$B%7%_%e%l!<%?$,MxMQ$G$-$^$9!#(B
Hugs$B$G$bF1MM$N%D!<%k$,MxMQ2DG=$G$9!#(B
</blockquote>

<I>$B%5%]!<%H$d;Y1g$r<u$1$k$3$H$O2DG=$G$9$+(B?</i>
<blockquote>
$B;DG0$J$,$i!"$H$j$"$($:8=;~E@$G$O$G$-$^$;$s!#(B
Haskell $B$N<BAu$O$I$l$b8&5f%0%k!<%W$K$h$j:n$i$l$?$b$N$G$"$j!"(B
$B$3$l$i$N<BAu$H4k6H$,7@Ls$r7k$V$3$H$G!"(B
$B;T>l$G$N%A%c%s%9$,@8$^$l$k$N$G$O$J$$$+;W$$$^$9!#(B
$B;d$?$A$O$3$N$h$&$J$3$H$r4n$s$G$9$k?M$H6&$KF/$-$?$$$H@Z$K4j$C$F$$$^$9(B!
</blockquote>
<i>$B$I$&$7$?$i(BHaskell$B$,3X$Y$^$9$+(B?</i> 
<blockquote>
$B$h$jB?$/$NNc$d@bL@$O(B
<a href="http://www.haskell.org/tutorial/">Gentle Introduction to Haskell</a>
(<a href="http://www.sampou.org/haskell/tutorial-j/">$B;32<?-IW$5$s$K$h$kK.Lu(B : $B$d$5$7$$(BHaskell$BF~Lg(B</a>)$B$r;2>H$7$F$/$@$5$$!#(B 
Haskell$B$rMxMQ$9$k$?$a$N=q@R$b?tB?$/B8:_$7$^$9!#(B 
<a href="http://www.haskell.org/bookshelf/">bookshelf</a>$B$r;2>H$7$F$/$@$5$$!#(B
</blockquote>
<p>
<i>$B$3$NJ8>O$O(BSimon Peyton Jones$B$NO@J8$K4p$E$$$F$$$^$9!#(B($B$=$l$r$5$i$KF|K\8lLu$7$?$b$N$G$9!#(B)</i>
<hr>
haskell.org |
intro | 
report | 
papers | 
teaching | 
compilers |
libraries | 
projects |
future haskell |
mailing list | 
links |
 :-)
<ADDRESS>$B:G=*99?7F|(B: 12 December 2001($BF|K\8lHG$O(B2003$BG/(B9$B7n(B24$BF|(B)</ADDRESS>

<hr>

<p>
$B1JED$N%a%b(B: $BHs873J(B(Non-strict)$B$H$$$&$N$O4X?t$N0z?t$,CY1dI>2A$5$l$k$3$H$r;X$9$h$&$G$9!#(B
</p>

</BODY>
</HTML>



