userモード

基本的にエディタで記述したプログラムを読み込むが,インタプリタを立ち上げた後にかりかりっとプログラムを記述したい.そんなときはuserモードを使います.

| ?- [user].


と入力すればおk(処理系によって違うと思います).
適当な例を入力,C-dで終了.確認.

| ?- [user].
compiling user for byte code...
cool(hoge).
cool(foo).
hot(bar).

user compiled, 4 lines read - 380 bytes written, 40419 ms

yes
| ?- cool(X).

X = hoge ? ;

X = foo

yes

よっしゃよっしゃ
この場合も,同じ述語は連続して入力しなきゃいけないのかな?

確認

| ?- [user].
compiling user for byte code...
male(hoge).
female(foo).
male(bar).
user:3 warning: discontiguous predicate male/1 - clause ignored
female(hogehoge).
user:4 warning: discontiguous predicate female/1 - clause ignored

user compiled, 5 lines read - 330 bytes written, 19796 ms

| ?- male(X).

X = hoge

yes

やっぱ怒られたし,やっぱ認識されてない.