{"id":1001782,"date":"2008-12-22T10:10:31","date_gmt":"2008-12-22T15:10:31","guid":{"rendered":"http:\/\/www.elharo.com\/blog\/?p=1001782"},"modified":"2008-12-22T10:11:57","modified_gmt":"2008-12-22T15:11:57","slug":"how-long-does-it-take-to-compile-haskell","status":"publish","type":"post","link":"https:\/\/www.elharo.com\/blog\/software-development\/haskell\/2008\/12\/22\/how-long-does-it-take-to-compile-haskell\/","title":{"rendered":"How Long Does It Take to Compile Haskell?"},"content":{"rendered":"<p>I&#8217;ve been compiling ghc from MacPorts on this 2.0 GHz MacBook, and I&#8217;m beginning to wonder if it&#8217;s hung. I&#8217;ve been stuck on &#8220;Building ghc&#8221; for quite a while, maybe an hour:<\/p>\n<pre>--->  Cleaning perl5.8\r\n--->  Fetching ghc\r\n--->  Attempting to fetch ghc-6.10.1-src.tar.bz2 from http:\/\/haskell.org\/ghc\/dist\/stable\/dist\/\r\n--->  Attempting to fetch ghc-6.10.1-src-extralibs.tar.bz2 from http:\/\/haskell.org\/ghc\/dist\/stable\/dist\/\r\n--->  Attempting to fetch ghc-6.8.2-darwin-i386-leopard-bootstrap.tar.bz2 from http:\/\/haskell.org\/ghc\/dist\/6.8.2\/\r\n--->  Verifying checksum(s) for ghc\r\n--->  Extracting ghc\r\n--->  Applying patches to ghc\r\n--->  Configuring ghc\r\n--->  Building ghc\r\n<\/pre>\n<p>Certainly it was long enough to answer a bunch of e-mails, and edit an article. Is this the point where it actually compiles the compiler? Is ghc self-hosting? That is, is ghc written in ghc? That may be what the bootstrap bit is about. Yep, <a href='http:\/\/www.haskell.org\/ghc\/'>looks like it is<\/a>.<\/p>\n<p>I do remember 2 hour gcc compiles, but that was 15 years ago on much slower hardware. How long does it take to compile a compiler nowadays?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been compiling ghc from MacPorts on this 2.0 GHz MacBook, and I&#8217;m beginning to wonder if it&#8217;s hung. I&#8217;ve been stuck on &#8220;Building ghc&#8221; for quite a while, maybe an hour: &#8212;> Cleaning perl5.8 &#8212;> Fetching ghc &#8212;> Attempting to fetch ghc-6.10.1-src.tar.bz2 from http:\/\/haskell.org\/ghc\/dist\/stable\/dist\/ &#8212;> Attempting to fetch ghc-6.10.1-src-extralibs.tar.bz2 from http:\/\/haskell.org\/ghc\/dist\/stable\/dist\/ &#8212;> Attempting to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[74],"tags":[],"class_list":["post-1001782","post","type-post","status-publish","format-standard","hentry","category-haskell"],"_links":{"self":[{"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/posts\/1001782","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/comments?post=1001782"}],"version-history":[{"count":3,"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/posts\/1001782\/revisions"}],"predecessor-version":[{"id":1001785,"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/posts\/1001782\/revisions\/1001785"}],"wp:attachment":[{"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/media?parent=1001782"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/categories?post=1001782"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.elharo.com\/blog\/wp-json\/wp\/v2\/tags?post=1001782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}