2008-08-01から1ヶ月間の記事一覧
基調講演 実はあんまし興味無かったのだけど、Perl 6 rulesの話がメインだったので面白かった rulesって単なる言語組み込みのPEGパーザコンビネータかと思ってたけど、EPPとかみたいに構文を自己拡張できるようにするのが目的だったのね rules自体はPEGに色…
scala-user MLに投稿されていた問題で、 入力: 1, 2, 3, 4, 5, 6, 7 のようなリスト 出力: <table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td>4</td> <td>5</td> <td>6</td> </tr> <tr> <td>7</td> <td> </td> <td> </td> </tr> </table> となるようなプログラムを作成せよというもの(出力はNodeSeqなので出力を整形するのは不要)。特に難しい問題ではないが、も…
Scalaで再帰的に定義する方法がわからん、という話。Haskellで a = 0:[x+1 | x <- a] と書けるのをScalaに持っていって def a:List[Int] = 0::((for(i <- a) yield { i+1}) toList)と書くと、定義はできるんだけど実行するとStackOverFlowErrorがでる。 http…
Scala 2.7.2 RC1 is out!主な変更点は以下のような感じ: Scalaのgenericな型がJavaのgenericな型として見えるように 2.7.1では、Javaのgenericな型をScalaからgenericな型として利用することはできたが、その逆(Scalaのgenericな型をJavaからgenericな型と…
@nagiseさん: ある木構造のノードをクラスで表現して、親の型をジェネリクスで受け取るNodeがあったとして、Node自身を親に出来るNodeを宣言できない。Node>となるんだけど、どうにかならないもんか。 Javaだと継承して、 public class ExtNode extends Node<ExtNode></extnode>…
ICFPCのfinal roundのマップ(Trial 1〜7まで。Trial 8はまだ結果自体が公開されていない)が見られるようになっていたので、早速Live CD上のシミュレータでマップを可視化してみた。 Trial 1 結果。最初だからか、かなりゆるめ。障害物回避をかなりテキトーに…
Twitter検索で検索したものから、ICFPCに関係あるのを抜き出してきたものなので、抜けがあると思うけど、一応、こんな感じの雰囲気でしたということで。 1日目 おきたー。さて、もーすぐ IFCP プログラミングコンテスト開始だ。 http://twitter.com/kmizu/st…
ICFPという学会が主催しているICFP Programming Contestという、参加者同士がプログラミングの技能を競うコンテストが毎年あって、今年は7月12午前4時〜15日午前4時(日本時間)にかけて行われていた。去年までは傍観していたものの、今年はチーム名suihan_jar…
yharaさんのRubyでZipperを実装してみたを見て、ScalaでもZipperを実装してみたくなったので、書いてみた。実装は、基本的には k.inabaさんのZipperの解説エントリに書かれていたのをほぼそのままScalaに移植しただけのもの。ただ、それだけだと何なので、Sc…
Onionの仕様についてつらつらと考えていたら、自動ダウンキャスト以上になんかよろしくなさそうな箇所に気付いてしまった。というか、もっと早くに気付いとけよという代物だけど。Onionは静的型付け言語で、ローカル変数も(他の静的型付け言語同様に)静的に…
LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする どう書く?orgあんまり時間もかからなそうなので、解いてみた(以下のリンク先の投稿)。http://ja.doukaku.org/comment/6920/
なんかモチベーションが上がってきたので、久しぶりにOnionのソースコードをいじっている。まず真っ先に手をつけたのは自動ダウンキャストの削除。自動ダウンキャストというのは、その名の通り、自動的にダウンキャストを挿入する機能で、例えば、Java風のコ…
参考URLはこの辺:http://tronicek.blogspot.com/2007/12/covariant-return-and-contravariant.htmlJava 7のクロージャの仕様では、あるfunction typeの変数に対して、それと互換性のある引数の型と返り値の型を持ったクロージャを代入できることになってい…