For a long time I wanted to go &#39;strictly functional&#39; and what better way then to start with the beast, ghc. So about a couple of months back, I downloaded version 6.6.1 [ <a href="http://www.haskell.org/ghc/dist/6.6.1/rpm/rhel5/i386/ghc661-6.6.1-2.el5.i386.rpm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 http://www.haskell.org/ghc/dist/6.6.1/rpm/rhel5/i386/ghc661-6.6.1-2.el5.i386.rpm</a> ] and started reading YAHT [ <a href="http://darcs.haskell.org/yaht/yaht.pdf" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://darcs.haskell.org/yaht/yaht.pdf</a> ]. Then the &#39;laziness&#39; took over and my &#39;idea of being strictly functional&#39; took a back-seat. The news of release of ghc Version  6.8.1 (3 November 2007) reignited the desire. This time I thought of compiling the ghc from source [ Main - 
<a href="http://www.haskell.org/ghc/dist/6.8.1/ghc-6.8.1-src.tar.bz2" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.haskell.org/ghc/dist/6.8.1/ghc-6.8.1-src.tar.bz2 </a> , Extra Libs - 
<a href="http://www.haskell.org/ghc/dist/6.8.1/ghc-6.8.1-src-extralibs.tar.bz2" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.haskell.org/ghc/dist/6.8.1/ghc-6.8.1-src-extralibs.tar.bz2</a>
 ]. Make sure you have 4-5 hours and 1-1.5 GB of disc space! <br>Become &#39;root&#39; and extract the above two files:<br>tar xvjf ghc-6.8.1-src.tar.bz2 <br>tar xvjf ghc-6.8.1-src-extralibs.tar.bz2<br>Both of them will extract in the directory ./ghc-
6.8.1. <br>For compiling there are some dependencies to be taken care of: <br>1. ghc [I already had v 6.6.1, <a href="http://www.haskell.org/ghc/dist/6.6.1/rpm/rhel5/i386/ghc661-6.6.1-2.el5.i386.rpm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.haskell.org/ghc/dist/6.6.1/rpm/rhel5/i386/ghc661-6.6.1-2.el5.i386.rpm</a> ] , it is interesting as the compilers compiles its next version [  <a href="http://en.wikipedia.org/wiki/Bootstrapping_(compilers)" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://en.wikipedia.org/wiki/Bootstrapping_(compilers)</a> ]:<br>rpm -ivhf ghc661-6.6.1-2.el5.i386.rpm<br>2. cabal, Common Architecture for Building Applications and Libraries, which can be downloaded from  <a href="http://www.haskell.org/cabal/release/rc/cabal-1.2.2.0.tar.gz" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.haskell.org/cabal/release/rc/cabal-1.2.2.0.tar.gz</a> and installation instructions need to be followed [ <a href="http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package</a> ]:<br>tar xzf cabal-1.2.2.0.tar.gz <br>cd cabal-1.2.2 <br>runhaskell Setup.hs configure <br>runhaskell Setup.hs build <br>runhaskell Setup.hs install 
<br>3. readline-devel, readline library which in turn has terminfo as dependence, so better to use yum for installation:<br>yum install readline-devel<br>4. alex, A lexical analyser generator for Haskell, whose rpm can be downloaded from  
<a href="http://www.haskell.org/alex/dist/2.1.0/RH9/alex-2.1.0-1.i386.rpm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.haskell.org/alex/dist/2.1.0/RH9/alex-2.1.0-1.i386.rpm</a> and installed easily:
<br>rpm -ivhf alex-2.1.0-1.i386.rpm<br>5. happy, the yacc of haskell [I read on  <a href="http://tritium.livejournal.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://tritium.livejournal.com/
</a> to compile happy you need old version of happy]. But for me simply getting the source <a href="http://www.haskell.org/happy/dist/1.17/happy-1.17.tar.gz" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 http://www.haskell.org/happy/dist/1.17/happy-1.17.tar.gz</a> and installation worked fine:<br>tar xvzf happy-1.17-html.tar.gz<br>cd happy-1.17<br>runhaskell Setup.hs configure <br>runhaskell Setup.hs build <br>runhaskell  
Setup.hs install<br><br>We are all set for the ghc compilation:<br>cd ghc-6.8.1<br>./configure<br>make<br>make install<br><br>Clean up ~300MB from the older ghc (v 6.6.1) installation, I went the brute force way:<br>find /usr -name  
ghc-6.6.1 &gt; &lt;list&gt;<br>rm -rf &lt;list&gt;<br><br>Now I have to dig deeper into the release note (<a href="http://www.haskell.org/ghc/docs/6.8.1/html/users_guide/release-6-8-1.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.haskell.org/ghc/docs/6.8.1/html/users_guide/release-6-8-1.html </a>), one thing which has really got me interested is the introduction of debugger to GHCi. Any tutorials on how to go about it?<br><br>Regards,<br>
<br>Ani<br><br><br><br>---------The Answer lies in the Genome------------<br><a href="http://fuzzylife.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> fuzzylife.org </a>