kmizuの日記

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

2008-05-01から1ヶ月間の記事一覧

Scalaでランクn多相をエミュレート

ヒビルテ(2008-05-29)より: OCamlの場合 一方、OCamlの場合にはランクN多相に直接対応してはいない*2けど、レコードのフィールドが多相型を持つことが出来るので、多相関数をレコードに包んで受け渡すことでエンコードできる。 type some_record = {x:int l…

「nを1から初めてその2乗を足していき、和が2000を初めて超えたとき和はいくつになるかという問題」をScalaで解いてみた

なんか凄い長いタイトルだ。元ネタはプログラミング言語が与える影響 (GrayRecord)とりあえず、NyaRuRuさんのC#版の解 結局 C# 版はこんなコードになりました. using System; using System.Collections.Generic; using System.Linq; using Achiral; using A…

Function TypeとTuple Typeの制限

Scalaでは、function typeやtypeを表記するのに、 (Int) => Int (function type)や (Int, Int) (tuple type)といった記法が使えて、一見すると、function typeやtuple typeが普通のクラス型と違う特別な型かのように見えるのだが、実はこれは、単なる scala.…

ScalaのコレクションからJavaのコレクションへの変換用ライブラリ

Scala勉強会のときに、誰かから、ScalaのコレクションをJavaのコレクションに変換するためのライブラリって無いの?という質問があって、それに対して、そういうものは無いけど、割とすぐ書けますよ、てな感じで答えたのをふと思い出して、サクっと書いてみ…

for-comprehensionはどのように展開されるか

val seq = for(x <- 1 to 100; y <- 1 to 100; if y == x * x) yield (x, y)実は,map,flatMap,filterのシンタックスシュガーらしい.どーいう風に展開されてるのか,知りたい. http://d.hatena.ne.jp/matt-k/20080511#p2 実は、Scala勉強会当日にも同じ…

partial functionについて訂正

Scala勉強会@関東-1のときに、 { case 1 => "A" case 2 => "B" }のような式が、それ単体でpartial functionのリテラルであるというような説明をしていましたが、今日、Scala Language Specificationの該当箇所(8.5 Pattern Matching Anonymous Functionsの辺…

Scala勉強会@関東-1 収支

勉強会: 飲食費 - 1959円 懇親会1次会: 3500円 * 8人 + 28000円 4000円 * 10人 + 40000円 飲食費 - 63000円 懇親会2次会: 飲食費 - 1562円 - + 1479円 黒字分の1479円は次回Scala勉強会に繰り越します。

Scala勉強会@関東-1 反省点

今回のScala勉強会@関東-1は、主催者として反省すべき点が多すぎて、わざわざ時間を割いて来てくださった参加者の方および、会場を提供して頂いたささださんには申し訳無かったと思います。今後、勉強会などを主催するときのために、反省点およびそれを踏ま…

Scala勉強会@関東-1 終了

運営や時間配分などの点で、反省点が多過ぎる勉強会になってしまいましたが、会場提供者の笹田さんの助けもあり、なんとか無事に終了いたしました。発表スライドは以下です。また勉強会の感想や不満、要望(発表内容および時間配分、などなど)があれば、この…

Scala勉強会@関東-1

明日(5/10(土))、第1回Scala勉強会@関東を開催します。参加される皆様、 よろしくお願いします。あと、もしも今からキャンセル、特に懇親会をキャンセル される場合、できるだけ早めに連絡をお願いします。

Scala勉強会@関東-1 懇親会

予約しておきました。場所は、 居食屋 「和民」秋葉原昭和通駅前店 です。Scala勉強会@関東-1

Genericsはイレイジャによる実装の方が単純か

自分は逆に「Elaser だったからこそ単純になってる」んじゃないのかなぁとは思います。ランタイムには Generics を考えなくて良いですし。基本的には。 http://d.hatena.ne.jp/SiroKuro/20080506/1210034867 うーん。確かに、イレイジャにすればランタイム(J…

Scala 2.7.1.final

リリースされた模様。

Genericsはデカい仕様なのか否か

でもJ2SE 5.0のgenericsでもはや最小の仕様なんてのは消えちゃいましたから、いっそのことより便利になるようにシンタックスシュガーでもなんでも入れればいいと思う。キーワードを加えるとなったら、プロパティ構文とか真っ先にいれてほしいですよ。getter/…

新しいScala Eclipse Pluginの補完が凄い

ここの動画を見て、ちょっと試してみたんだが、なかなか頑張ってる。凄いのは、implicit defによる暗黙の変換をちゃんと見て補完候補を表示しているところ。ここでは、レシーバがSeq[Int]である場合にのみ、sumメソッドを追加するように定義してあるのだが、…

Scala勉強会@関東-1 懇親会

懇親会への参加表明、明日(5/5)いっぱいで打ち切ります。Scala勉強会参加者で懇親会参加希望の方はお早めに参加表明をお願いします。参加表明はこちらからできます。

はてなに移行しました

以前は大学の計算機システム上でtDiaryを使って日記を書いていましたが、 はてなに移行することにしました。Onion開発日記のデータは随時移行して いこうと思います。