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

RC7

http://www.scala-lang.org/node/6881RC7って・・・

LET OVER LAMBDA

買ってしまった・・・(´・ω・`)LET OVER LAMBDA Edition 1.0作者: ダグホイト,Doug Hoyte,タイムインターメディアHOPプロジェクト出版社/メーカー: エスアイビーアクセス発売日: 2009/07メディア: 単行本購入: 9人 クリック: 73回この商品を含むブログ (28…

Listの継承の階層

scalaでのListの継承関係を調べてみた。mixinではなく、直接の親クラスを調べただけでも以下のような感じ sealed abstract class List[+A] extends LinearSeq[A] with Product with GenericTraversableTemplate[A, List] with LinearSeqOptimized[A, List[A]…

scalaの歴史 その1

scalaの歴史って書いてみましたが、別に詳しいわけではありません。 オープンソースなんで、古いリポジトリ見て、気付いたこと書いてくだけです(・ω・`) しかもその1って書いたけど、その2があるかは未定・・・(・ω・`)ここにアクセスすれば、誰でも自由にソ…

DSL

scalaでちょっとしたDSLを作ってみる( ̄o ̄)/JodaTimeというJavaのライブラリがある。しかし、もちろんJavaなので、メソッド名がplusYearsとかになっているわけだが、それをラッピングしちゃって、 today + "3years" + "1month" - "2week" + "2days" みたい…

apply unapply unapplySeq update

apply unapply unapplySeq update の4つのメソッドは定義するときは普通のメソッドだけど、使うときは特別な使い方になる。というか、コンパイラがこれらのメソッドだけ特別扱いして、メソッド呼び出しでは無いような構文になる。 ただ、普通に呼ぶことも可…

RC5・・・

http://www.scala-lang.org/node/6684RC4ダウンロードしてインストールしたと思ったら、すぐにRC5って・・・orzバグがあったらしい・・・はやくfinalにならないかなぁ・・・

末尾再帰

末尾再帰で、あるディレクトリ以下のすべてのファイルのListを返す関数を作ってみた。 object TailrecTest { type files = List[java.io.File] def fileSearch(f:File):files = { @tailrec def sub(fs:files,result:files):files = { if( fs.forall(_.isFile…

ダックタイピング?

またまたscalaの記事 ダックタイピングというエントリーだが、scalaにダックタイピングはない。Structural Subtypingである。コップ本には載っていないので、最近まで知らなかったが、こんな機能があったのか・・・http://d.hatena.ne.jp/taichitaichi/20080…

traitがclass継承

scalaでなんでtraitがclass継承できるんだ?継承できても class a{} trait b extends a{} class c{} class d extends c with b{} とかはできないわけで(できたら多重継承になっちゃう)。 誰か知ってる人いる?特に意味ないのか?歴史的な理由なのかな・・・…