kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

2009-06-01から1ヶ月間の記事一覧

↓の文を読み、誰が魚を飼っているかを当てて下さい

ICFPCを早々に諦めて、ちょっと凹んでいたところ、サークル関係の内輪のチャットで比較的手軽に解けそうな問題が貼られていたので、暇つぶしに解いてみた。出典はどこかよくわからんのだけど、http://ayacnews.blog57.fc2.com/blog-entry-6635.htmlなど、い…

Dictionaryリテラルっぽい何か

C#

(中略) static void Main(string[] args) { var dict = Dict.Create( (out string key, out int val) => { key = "hoge"; val = 0; }, (out string key, out int val) => { key = "piyo"; val = 10; }); foreach (var p in dict) { Console.WriteLine(p.ToSt…

Re:Re:Re:不満の記録

主に型安全性に関する話について。必要悪的にそうなっているのであって、別にいい加減なわけじゃないよー、というScala擁護の話です。 つまるところ、ぼくが Scala に期待していたのは Ruby のような快適さ (書きやすい文法に豊富な便利メソッドなど) OCaml/…

Re:不満の記録

flagir を作るなどの過程で感じた Scala への不満を列挙。こんな記事を (日本語で) 公開しても誰も得しないし誰も読まないだろうから、やめようかなとも思ったんだけど。ぼくの勘違いなら指摘してもらえるかもしれないし、記録という意味もあるのでやっぱり…

第42回情報科学若手の会参加申し込み受付開始

情報科学若手の会については、こちらのページから。名前がなんかお堅いですが、別にそれほどあかでみっくな場でも無いので、非研究者の人でもどしどし参加していただければ、と思います。どういう発表が過去にあったのかは、Webページの「過去の活動」を見て…

Scalaでコンパイル時アサーション

以前にMetaScalaで見かけて、なるほどーと思ったテクニック。実装は非常に簡単。 scala> type assertEq[A, B >: A <: A] = Nothingたったこれだけ。説明は不要だと思うが、Scalaだと、型パラメータのlower boundとupper boundの両方を指定できる事を利用して、BはAのサブタイプかつスーパータイプでなければならないという指定によって、型Aと型Bが等しい事をassertしている。使い方は以下のような感じ。 scala> type x = assertEq[Int, Int] defined type alias x scala> ty…</:>

S-99: Ninety-Nine Scala Problems(P21-P28)を解いてみた

S-99: Ninety-Nine Scala Problems(P11-P20)を解いてみたの続き。P21-P30ではなく、P21-P28になっているのは、P27とP28がそれぞれ二問ずつあり、P28で一端問題が区切られているため。今回のは、時間を測り忘れていたが、前回よりもややてこずった気がする。…