meeting~~

今天見到了久違的supervisor……

首先是程序正確性的證明問題,如何證明我生成的hoopl representation是正確的。這個問題很複雜,老大說暫時不要糾結。的確,編譯類的程序的正確性證明比較麻煩,估計要是真的能做出來東西以後纔會考慮。

關於生成變量的變量名與原有變量名衝突問題,現在我的處理方法是統一前綴"prefix_",新生成變量爲前綴加純數字,原有變量則直接冠以前綴。新生變量名的唯一性由hoopl保證,而新舊變量名不可能重疊因爲舊變量名不可能是純數字,而新變量非前綴部分爲純數字。

關於生成新變量和functionCall的參數忽略問題,暫時來看老大覺得不會有什麼問題,不過他也偏愛儘量獲取已有信息去生成。暫時忽略。

關於forloop的step問題,與我預想的一樣,step總是正整數。

莫名其妙自動出現的struct array mem問題應該是在plug-in部分以及C文件部分處理,所以下一步需要讀這些部分,也是爲生成C代碼做準備。

可能可以使用ExtendedClass省略很多重複的工作,老大給了個例子可以研究一下。

關於增加IOmonad進去,原來可以用UniqueMonad的MonadTransfer,原以爲m是一定要一個class的,原來不是,可以是IO。這樣就可以隨時打印出東西或者使用liftIO了。

關於pretty printing,果然是推薦平臺自帶的那個library。

關於之前說的使用seq來避免++,老大說如果不是有非常大的影響暫時不做。

type定義方面,建議我以後對複雜類使用record形式方便改動,當然我已經瞭解改類型的痛苦了,在刪除depth參數的時候,滿篇的改啊……

關於我的自娛自樂翻譯工作,老大建議我找些人幫忙,雖然周圍沒有,但是可以去maillinglist裏發,非常有道理~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章