descartes-src (ソースパッケージ descartes-src-0.26.0.tar.gz) | 2012-09-09 20:57 |
descartes-win (Windows用バイナリパッケージ descartes-win-0.26.0.zip) | 2012-09-09 20:52 |
会話キャラクター: ツンデレ アプリケーション (会話キャラ:ツンデレ v1.0 for Windows) | 2010-04-29 13:41 |
会話キャラクター: 2人の女の子 ダブルキャラクター (会話キャラクター 2人の女の子 ダブルキャラクター 1.0 for Windows) | 2011-10-02 22:23 |
会話キャラクター: Eliza風英語版 (会話キャラ:Eliza風英語版 v1.0 for Windows) | 2010-05-11 01:06 |
会話キャラクター: 猫耳メイド アプリケーション (会話キャラ:猫耳メイド v1.0 for Windows) | 2010-04-27 21:15 |
会話キャラクター: イライザ風日本語版 (会話キャラ:イライザ風日本語版 v1.0 for Windows) | 2010-04-30 21:53 |
経済指標表示プログラム for Windows (経済指標表示プログラム V1.0) | 2011-08-18 22:04 |
ニュースヘッドライン表示プログラム (ニュースヘッドライン表示プログラム V1.0 for Windows) | 2011-08-16 12:31 |
デカルト言語 example (デカルト言語の例題 example-0.7.0.zip) | 2009-03-01 19:47 |
電力状況表示プログラム for Windows (2011年夏版 全国電力供給状況表示プログラム V1.0) | 2011-08-15 13:25 |
古来より言われている、「風が吹けば桶屋が儲かる」を論理的に示してみましょう。
// 風が吹けば桶屋が儲かる。 風が吹くならば、土ぼこりが立つ。 土ぼこりが立つならば、盲人が増える。 盲人が増えるならば、盲人は三味線を買う。 盲人が三味線を買うならば、三味線に使う猫皮が必要である。 三味線に使う猫皮が必要であれば、ネコが減る。 ネコが減るならば、ネズミが増える。 ネズミが増えるならば、ネズミが桶を囓る。 ネズミが桶を囓るならば、桶の需要が増える。 桶の需要が増えるならば、桶屋が儲かる。 // 実行 風が吹く。 ネズミが増えるか? ネコが減るか? 桶屋が儲かるか?
ネズミとネコの増減と桶屋の儲けについて訊いていますね。
上記のプログラムをsamples/oke.mrsにあるとして実行してみましょう
$ descartes murasaki samples/oke.mrs ネズミが増えるか? ネズミは、増えるです。 ネコが減るか? ネコは、減るです。 桶屋が儲かるか? 桶屋は、儲かるです。
この世界では、風が吹くとネズミが増え、ネコが減り、桶屋は儲かっています。
プログラムに書いてあった論理に従った結果になっていたか確認してみてください。
このプログラムは次に示すようなデカルト言語のプログラムにコンパイルされて実行されたものです。
<M4 立つ 土ぼこり ()> <M4 吹く 風 ()> ; <M4 増える 盲人 ()> <M4 立つ 土ぼこり ()> ; <M1 買う 盲人 (三味線)> <M4 増える 盲人 ()> ; <M4 必要 三味線に使う猫皮 ()> <M1 買う 盲人 (三味線)> ; <M4 減る ネコ ()> <M4 必要 三味線に使う猫皮 ()> ; <M4 増える ネズミ ()> <M4 減る ネコ ()> ; <M1 囓る ネズミ (桶)> <M4 増える ネズミ ()> ; <M4 増える 桶の需要 ()> <M1 囓る ネズミ (桶)> ; <M4 儲かる 桶屋 ()> <M4 増える 桶の需要 ()> ; <M4 吹く 風 ()> ; ? <printf 'ネズミが増えるか?' <\_n>>; ? <回答 (<M4 増える ネズミ ()>)>; ? <print>; ? <printf 'ネコが減るか?' <\_n>>; ? <回答 (<M4 減る ネコ ()>)>; ? <print>; ? <printf '桶屋が儲かるか?' <\_n>>; ? <回答 (<M4 儲かる 桶屋 ()>)>; ? <print>;
--
--
[PageInfo]
LastUpdate: 2011-09-07 02:37:34, ModifiedBy: hniwa
[License]
Creative Commons 2.1 Attribution
[Permissions]
view:all, edit:login users, delete/config:login users