2007-07-24
■ [prog] ICFP Contest 2007
絶望した!関数型言語の学会なのに副作用バリバリの設問に絶望した!
というかHaskellに不利な設問にしたかったとしか思えない。もちろん真のHaskell使いはこれくらいものともしないと思うけど、 そもそも速度のチューニングを要求される点で上級でないHaskellerは苦労したんじゃないかな。と勝手に想像。
僕はdnaのインタプリタをSchemeで作りかけたんだけど、別の用事で参戦が遅かったこともあってどうみても時間が足りませんありがとうございました。 てか問題文が長すぎるというか入口までがどんだけ遠いんだと。
あと俺は設計で迷ってる間にまず最後まで実装してみるべきだと思った。
■ [event] 夏のプログラミング・シンポジウム2007
いきたかったなー。
というか応援演説で応募するつもりだったのだが、締切前に急性やる気失調症候群に罹患して諦めざるを得なかった。
まぁ、応募したとしてもBefungeとかを選ぶ予定だったんで、通ってたかどうかは疑問だけど(笑)。
Befungeとは別にWierdというもの凄く(Brainf**kの8倍くらい)シンプルな言語があって、それとBefungeとどっちにしようか迷った。
このへんのいわゆるesoteric languageに関するWikiとか立ち上げようかなと思ったこともあるんだけど、需要あるんだろうか。
■ [prog] ICFPの感想リンク集を作りました
どうぞご利用ください。
上から順に読んでいくだけで参加したような気分になれること請け合い(嘘)。
しかし読めば読むほど「どんだけギミック仕込まれてるんだ!」という思いが深まりますな。 「横幅 16 カラムで DNA を見るとアスキーアートで文字が」とか。 ドイツ語になるやつが面白かった。
全てのネタが解析されるまでにどれくらいかかるんだろう。
> 副作用<br>弟子が尋ねた。「先生、私は先生が副作用をまるで魔術師の ように扱っているのを常々敬服しています。どうすれば先生のようになれ るのでしょうか?」<br>師「えっ? 副作用? あ、そうか。そんなものもあったな。いやあ、 すっかり忘れておったわ」<br><br>> esoteric language<br>Twitter / uj: esoteric language( 難解プログラ...<br>http://twitter.com/ujihisa/statuses/165737832
> 副作用<br>副作用を扱うのに魔術が必要なところが関数型風味?<br><br>> erotic language<br>俺の脳内ではesoteric languageじゃなくてneta(≠meta) languageと呼んでたりします。
今回のdna2rnaはレジスタとかキャッシュとかそんなレベルの最適化は必要なくて、文字列のconcatやsubstrがO(1)とかO(logN)で出来るデータ構造を使えるかどうかが重要でした。<br>これを実現するためには、実際に文字列をコピーしたり結合したり削除したりしていると遅すぎる。じゃぁどうするかというと、文字列そのものには手を付けずにリンクだけ操作するわけですね。元の文字列が破壊されることはないから、同じ部分文字列を複数の文字列で共有するといったことも出来ます。この辺りの発想は純粋関数型的であるので、このようなデータ構造を最適化のメインに持ってくるのは関数型言語のコンテストとしてはありではないかなぁと思います。<br>とはいえ敷居が高すぎたというのは同感です。完全に初心者お断りのコンテストでした。
なるほど、「速度が問われる」といってもデータ構造レベルの話で済んだと。(そういえばRubyで参加したチームもあったみたいですしね)<br>敷居の高さは、869チーム中生存率を0%より大きくできたのが<br>172チームしかいないことでも良くわかります^^;