Help us understand the problem. What is going on with this article?

PC不要!スマートフォンから始めるProlog

More than 3 years have passed since last update.

PC不要!スマートフォンからはじめるProlog

いよいよ今年も始まりました Prolog Advent Calnder 2014。

今年のAdvent Calender初回は、お手持ちのスマートフォンなどから、すぐにでも Prolog を試す方法をご紹介したいと思います。

Prolog というプログラミング言語に馴染みがない方もこれを機会に触れられてみてはと思います。

オンラインで試すなら Ideone.com がオススメ

あなたがもしインターネットにつなぐことが出来るならば、まずは Ideone.com を試してみるのがよいでしょう。

prolog_ideone-on-android01-half.png

さっそく試してみましょう

下をみると「Java」などとと書かれた面妖なボタンがあるので、それを押し……

prolog_ideone-on-android03-half.png

おもむろに「Prolog(swi)」を押します。

prolog_ideone-on-android04-half.png

あとは、あなたは下記のように /* your code goes here */ 上下付近にPrologのソースコードを書いていけばよいのです。

prolog_ideone-on-android05-half.png

書き終わったら、「Run」という機械なボタンを押しましょう!

prolog_ideone-on-android06-half.png

やりました!

画面が変わり、下記のように stdout というところに謎の文字列が現れれば成功です!

prolog_ideone-on-android07-half.png

これであなたも Prolog プログラマーの仲間入りです。

友達に「ぼくは Prolog のプログラムを組んだことがあるよ」と言った時の相手の顔を想像してみるのもよいかもしれませんね。

:pencil: 実行結果だけを見てみたいあなたのために、上記で作った小さなプログラムを Ideone にアップロードしておきました

この方法は、iOS(iPhone) や Android 、パソコンでもインターネットさえ繋がっていれば、試すことができます。便利なサービスですね。

:warning: 注意してください

ただし、上記の方法では、インターネットや書籍にて見かける「対話的な」コードをそのまま実行しにくいので、少し工夫が入ります。

例えば、以下のように対話的に入力する例が合った場合、

?- 人間(X).

Ideone.com では以下のようにかく必要があります。

/* your code goes here */
人間(X), writeln(X), fail; 
true.

もしくは、以下でも大丈夫でしょう。

:- 人間(X), writeln(X), fail; true.

:tea: 【余談】 Android では

Android限定ですが、 Jekejeke Prolog というアプリを発見しました。
これならばインターネットに接続していない環境でも利用できるかもしれません。

また、対話的に入力することもできるようです。

そもそも Prolog とは何なのか

Prolog とは何なのか?宇宙とは?そして我々の存在意義とは?
そう思われたのは、あなただけではありません。
わたしもです。安心してください。

あなたがもし禅問答を避けたいのであれば、Wikipedia の Prologの項目 が役に立つとわたしは確信しています。

論理型言語としてのPrologの立場、そしてその歴史、人類の未来などの話題は Wikipedia に任せ、ここは次に進めたいと思います。

:pencil: 驚くべきことに、この充実した Wikipedia の記事 は、 Prolog歴30年を超える方 によって 8割方書かれているという噂 があります。
本当でしょうか?

それではこの辺で失礼します。

また、次回の Advent Calender でお会いしましょう。

toby_net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away