我是李映辉,在此次做业中和王程鹏一块儿负责实现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
完成此次做业的过程十分顺利,这里要感谢个人队友王程鹏。没有他作的前期工做,没有咱们之间的讨论,此次做业不可能这么顺利。编译器