とりあえずpakcsをインストール

とりあえず、実行環境がないと遊べないので、PAKCSをインストールした。

で、pakcsで調べると、あろはさんのところがひっかかって、

しっかしなぁ,curry のコンパイルには Haskell コンパイラGHC が,PAKCS のソースからのコンパイルとインストールには,商用の Prolog コンパイラ SICStus-PrologGHC が両方要るらしい !! なんてゴージャスな処理系だ.大富豪プログラミング.

http://alohakun.blog7.fc2.com/blog-entry-634.html

と、書かれていてあせるが、PAKCS Installationに、SWI-Prologでもいいとかかれているので、安心。

というわけで、swi-prologをportでインストール。最初、失敗したので、port -d syncして、installしようとしたところ、

Error: port search failed: unmatched open brace in list

とでて、あせる。installだけじゃなく、searchだとかその他諸々も、同じメッセージが出るようになってしまったので、とりあえず、port selfupdateでport自体をupdateしたら直った。

で、swi-prologがインストールできたら、あとはmakeのみで完了。

とりあえず、チュートリアルにでてきたやつを実行してみる。

$./bin/pakcs 
  ______      __       _    _    ______   _______     
 |  __  |    /  \     | |  / /  |  ____| |  _____|   Portland Aachen Kiel
 | |  | |   / /\ \    | |_/ /   | |      | |_____    Curry System
 | |__| |  / /__\ \   |  _  |   | |      |_____  |   
 |  ____| / ______ \  | | \ \   | |____   _____| |   Version 1.8.1 (7)
 |_|     /_/      \_\ |_|  \_\  |______| |_______|   August 2007

Curry2Prolog(swi) Compiler Environment (Version of 29/08/07)
(RWTH Aachen, CAU Kiel, Portland State University)

Bug reports: mh@informatik.uni-kiel.de

Type ":h" for help

Prelude>  x && (y || (not x)) where x,y free
Free variables in goal: x, y
Result: True
Bindings: 
x=True
y=True ? ;
Result: False
Bindings: 
x=True
y=False ? ;
Result: False
Bindings: 
x=False
y=y ? ;
No more solutions.
Prelude>