卷2:第5章 Glasgow Haskell編譯器

2018-02-24 15:55 更新

上世紀(jì)九十年代,Glasgow Haskell編譯器(誕生于格拉斯哥[Glasgow]大學(xué))開始時(shí)作為英國政府資助的學(xué)術(shù)研究項(xiàng)目的一部分,有著如下幾個(gè)計(jì)劃目標(biāo):

  • 可以免費(fèi)獲得的,健壯且可移植的Haskell編譯器,能夠產(chǎn)出高性能的代碼
  • 模塊化設(shè)計(jì),便于其他研究人員擴(kuò)展和開發(fā)
  • 讓人學(xué)習(xí)真實(shí)程序如何運(yùn)作,來設(shè)計(jì)和構(gòu)建更好的編譯器

GHC有了20多年的歷史了,從誕生之日起,他的開發(fā)一直保持著活躍的狀態(tài)。今天,GHC發(fā)布后會被成千上萬的人下載,在線的Haskell library倉庫中包的數(shù)量超過了3000。許多大學(xué)課程中使用GHC進(jìn)行教學(xué),商業(yè)使用GHC的案例也在不斷增長。

整個(gè)GHC的開發(fā)歷史中一般大約有2到3個(gè)活躍開發(fā)者,盡管提交代碼的人成百上千。對于作為GHC開發(fā)者的我們,最終的目標(biāo)是研究而不是代碼,但開發(fā)GHC有個(gè)核心的前提:研究成果要回饋給GHC,這樣利用GHC可以基于之前的想法進(jìn)行下一步的研究。此外,GHC具有工業(yè)強(qiáng)度的品質(zhì)也很重要,他可以讓GHC的研究成果具有更高的可信度。所以雖然GHC充滿前沿的想法,但我們付出很大的努力,讓其可以在產(chǎn)品中可靠地使用。雖然研究和產(chǎn)品使用這兩個(gè)方向看起來有強(qiáng)烈沖突,但我們找到可行的方法,讓兩方面都有獲益。

在此章中,我們會描述GHC的總體架構(gòu),關(guān)注那些使GHC成功的關(guān)鍵想法,還有一些不如意的地方。希望你能夠在下面的講述中學(xué)到在20多年的開發(fā)GHC如何保持龐大項(xiàng)目開發(fā)的活躍,而沒有被自身的重量壓垮,一個(gè)非常小型的開發(fā)團(tuán)隊(duì)一般要考慮哪些事情。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號