作者noctem (noctem)
看板PLT
標題Re: [徵才]Functional Programming 的相關工作
時間Wed Mar 7 17:05:58 2007
※ 引述《reader (讀者)》之銘言:
: 原來你還是在研究程式語言,就我的認識,穆老師是在台灣對於程式語言
: 研究,特別是函數語言最為執著努力的一位了。
啊,謝謝你.. 其實國內做同樣研究的還有幾位(中研院的莊老師、
政大的陳老師等等.. ),做相關理論研究的更多,我算是回來得
最晚的。最近大家也覺得人夠多了,該是合起來做一些事情的時候
了。
: 從上大學不久就開始了吧? 十年如一日的研究,真是不得不敬服。
咦?聽來我們好像認識哩?請問您是...? :)
在國外是比較有環境讓我做這樣的研究。身邊的人都做這樣的東西,
處在其中覺得很自然,生產得也快。現在我回來一年了,還是沒什
麼成績。已經蠻慌的了。
: 其實我不太了解 program derivation 和 meta-programming 能有
: 什麼不同,最終都還是運用程式語言或工具生產軟體的方法。
我粗略的理解是 meta-programming 泛指用程式來處理程式。
如果是這樣的話,差別大概是: 我做的那種 derivation 多半是用
手在做的呢。一種解釋是 derivation 是寫程式的過程之一;另一
種講法是把將一個演算法 derive 出來的過程當作了解它的方法。
這兩種活動都是人在做。
當然漸漸地會發現,有些 derivation 的過程是蠻機械化的,因此這
些部份可以用電腦來輔助做。我們的目標之一應該也是盡量讓
可以自動做的部份變多。因此也許可以說 program derivation
的成果可以應用在 meta programming 上吧。但對另一些人來說,
他們的興趣是繼續尋找用來 derive 程式的數學結構,能否自動化
就待會兒再說。
: 以上是用我設計的程式語言 (未發表) ,不過應該滿容易理解的,就
: 不做額外說明了。
之後會發表嗎? :)
: XML 處理這部分,一般是在 information retrieval 的領域中做的,
: 用程式語言來做,可能不是殺雞用牛刀,就是很可能實用意義不夠。
: 不過,若是想要做點什麼東西,配合 XML 的特性來設計,或是以此
: 做為起點,應該還不錯。
嗯,目前是有些專門設計來處理 XML 的 functional 語言(例 XDuce
和 CDuce)。不過他們的設計重點放在型別上: 兩個語言都有適合
XML 的 type system.
Information retrieval 是我不懂的東西.. @_@ 我開始碰 XML 也是
最近的事情,可能不很進入狀況。其實這幾年很多 programming language
的研究者開始搞 XML, 是覺得「我們搞跟樹有關的東西也搞那麼多年了,
現在 XML 流行起來,我們能不能把之前弄的東西應用在這上面?」
然後就這麼試試看了。
: : functional language. 是否有可能設計一個語言,讓你能先
: : 定義一個函數 f, 然後說「g 是 f 的反函數」?這樣的語言能
: : 玩出什麼花樣呢?
: 我不理解,先不談可能性,但如果實作出來了,可以怎麼應用呢?
Hmm.. 研究反函數的學者有一些,通常的講法是
o 有的人認為這是本來就該有的。函數可以 compose, 可以 apply,
可以 invert. 但現在的語言只能做前兩者而不能做第三者,
是個缺陷,應該做出來。
o 可以扯很遠扯到量子電腦:在量子電腦上的程式都是可以逆轉的。
那麼最好是有鼓勵 programmer 寫出可逆的程式的語言。
此外我自己之前參加的一個計畫中,有一小部份(很意外地)需要確保
programmer 寫的程式是可逆的。所以當時做過一點點相關的研究。
不過老實說以上的理由說服力有多高,都要看寫企劃的人作文能力有
多強啦。對我來說,我想試試看這個計畫的原因是好奇:其一是想知道
可不可能;其二是想知道如果要確保程式可逆,需要遵循哪些規則,
以及有了這個 invert operator 之後會怎麼影響程式風格。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.20.217
1F:推 godfat:可以拿來做超級 undo/redo 的能力? @_@ 03/08 00:23