我是李映輝,在此次做業中和王程鵬一塊兒負責實現popush項目中haskell的支持。剛剛接到這個任務的時候我在家裏,當時我覺得這個是最重的任務了,當時我已經作好了刷夜的思想準備。在中途王程鵬加入到了咱們組,被安排和我一塊兒結對編程,我才感受到任務輕了一些。linux
因爲我在家的時候不方便交流,因此咱們約定等我回校之後再正式開始作做業,可是在這以前王程鵬還和學校的一些同窗進行了一些交流,他的學校作的這些工做使得咱們後來的工做變得異常順利。編程
咱們實現的過程很是的順利:首先咱們兩我的討論了一下解決的思路。王程鵬告訴我他認爲程序應該是經過連接外部編譯器編譯目標文件的。因此咱們所作的應該是在環境變量裏添加ghci的路徑,而後找到現有代碼中實現對其餘語言的支持的部分,並仿照這部分作一些針對性的修改之後應該就能夠實現這個功能了。那次討論之後我有其餘事情先去處理了,而後過了一個小時,王程鵬過來告訴我說,他已經找到應該修改的地方了(幸福來得太忽然了)。因爲他的電腦上沒有安裝ghci,因此後來的工做都在個人電腦上進行。windows
最初按照王程鵬跟我說的方法在ruuner.js和data.js文件中作出相應的修改之後,我發現程序沒法正確地編譯。通過檢查,發現咱們把ghci寫成了GHCi,修改之後程序即可以正確地編譯了。不過,當我嘗試在控制檯中輸入指令檢測它可否運行時,卻意外地發現沒法從控制檯中輸入。我一開始覺得是我沒有配置好,可是我又用C語言程序測試之後發現控制檯仍然沒法輸入。此時我初步肯定是popush平臺自己的問題,而後我想助教彙報了錯誤,並得瞭解決。後來再在控制檯中輸入函數名,函數就能夠正確運行了。函數
事情到了這裏還沒完。這個時候在網頁上尚未辦法顯示haskell文件的圖標,因而我又去找顯示haskell圖標的方法,最終發如今popush\static\images\ext路徑下添加hs.png圖片並在popush\static\js\models\file.js中的ext2icon中添加hs到hs的映射便可解決這種問題。至此整個項目徹底結束了。測試
咱們是在windows平臺上作出的改進,後來移植到linux平臺下發現也能夠正確使用。圖片
後來咱們測試了包括haksell在內的全部8中語言,發現系統都可以正確地建立、運行代碼。ci
完成此次做業的過程十分順利,這裏要感謝個人隊友王程鵬。沒有他作的前期工做,沒有咱們之間的討論,此次做業不可能這麼順利。編譯器