Diary?

2009-11-09
Mon

(20:42)

一時期「服用すると見えない大名行列の後を付いて行って飛び降り自殺する」などと騒がれた気がしなくもないタミフルだが、当然そんなことはなくインフルエンザは順調に治ってる。どうも副作用としてやたら眠くなって体温が平熱よりも下がるようだが、そんぐらいは仕方がない。

まあそんな事はどうでもいい。それよりみんなは Befunge というプログラミング言語を知っているか?

簡単に言ってしまえばソースコードの読み取られる向きがコロコロ変わる言語なんだが、もうとにかく凶悪極まりない。こいつで書かれたライフゲームのコードがこれだ。

v>>31g> ::51gg:2v++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9p BXY|-+<v3*89<%+ *                                                      *   +
21 >98 *7^>+\-0|<+ *                                                     *    +
*5 ^:+ 1pg15\,:< + *                                                     ***  +
10^  <>$25*,51g1v+                                                            +
-^ p<| -*46p15:+<+                                                            +
> 31^> 151p>92*4v+                                                            +
 ^_ ".",   ^ vp1<+                                                            +
>v >41p      >0 v+                                                            +
:5! vg-1g15-1g14<+                                                            +
+1-+>+41g1-51gg+v+                                                            +
1p-1vg+1g15-1g14<+                                                            +
g61g>+41g51g1-g+v+                                                            +
14*1v4+g+1g15g14<+                           * *                              +
5>^4>1g1+51g1-g+v+                           * *                              +
^ _^v4+gg15+1g14<+                           ***                              +
>v! >1g1+51g1+g+v+                                                            +
g8-v14/*25-*4*88<+                                                            +
19+>g51gg" "- v  +                                                            +
4*5  v<   v-2:_3v+                                                            +
 >^   |!-3_$  v<-+                                                            +
^    < <      <|<+                                                         ***+
>g51gp ^ >51gp^>v+                                                            +
^14"+"<  ^g14"!"<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一体何が何だかさっぱりわからない。本気で恐怖と狂気を感じる。というわけで(どういうわけだ) Befunge 93 のインタープリタを実装してみた。

上記のライフゲームの他に robots.bf とかボトルを数える奴、 quine.bf あたりが動いたので多分大丈夫だとは思う。問題点は死ぬほどすっとろいという事なんだが、これで実用コードを書く機会は永久に訪れないだろうからどうでもいい。

あとこの言語は Funge 98 というのが最新の仕様らしいが、そっちはさらに狂気の度合いが加速しており真剣に頭を抱えている。ソースコードが二次元の Befunge だけでなく、ソースコードが一次元になった Unifunge とソースコードが三次元空間内に存在し、当然読み取りの向きも三軸という Trefunge を仕様として定義しているのだからたまらない。ってかどうやって三次元のソースコードとか書くんだ。とてもじゃないが実装する気にならなかったので放置してる(恐らく未来永劫ならないであろう)。

Creative Commons
この怪文書はクリエイティブ・コモンズ・ライセンスの元でライセンスされています。引用した文章など Kuwata Chikara に著作権のないものについては、それらの著作権保持者に帰属します。