scala
最近Scala Complierをforkするのが流行っているようですね。 paulp/policy · GitHub typelevel.scala | Typelevel Scala and the future of the Scala ecosystem 「俺のコンパイラか?欲しけりゃくれてやる、探せ!この世の全てをそこにおいてきた!」 男達…
これが……型の力かッ……!!spray | Blog » The Magnet Patternという記事で、「The Magnet Pattern」というデザインパターンが紹介されている。 これは、メソッドオーバーロードで解決していた問題を、型クラスとDependent method typesを組み合わせて置き換え…
噂のFreeモナドをScalaで写経してみた。 Freeモナドは、取り込む型SのFunctorと組み合わせて、Functorの特性に応じたモナドを得ることができるものらしい。 そろそろFreeモナドに関して一言いっとくか - fumievalの日記 Freeモナドって何なのさっ!? - capr…
Tumblrから出戻ってきました。8/4のLL DecadeのLT大会に出るのでぜひお越しください。さて、モナってますか? scalazなどでよく出現する[({type F[X] = G[A,X]})#F]のようなコードですが、これが何を意味しているのか最近やっと理解できたので、久しぶりにSca…
こんにちわ。今日は、関数適用の話をします。 前回のエントリで、「メソッドチェーンと違いがよくわからない」という指摘をもらったり、なんかスゴイSmalltakerから黒魔術を駆使したトラックバックをもらったりしたので、もう少し前回のエントリの意図すると…
こんにちわ。今日は、関数合成の話をします。 標準入力から何行か読み込んで、ソートして返す以下のようなScalaのコードを例にします。 例なので、あえて冗長なコードを書いてます。 このコードでは、4つの関数が用意されています(unlines/putstr/sort/lines…
yuroyoro/scalaz-playground · GitHubタイトルの通りで、このリポジトリをcloneして、"sbt console"と入力汁。 ozaki@mbp-4 $ git clone https://github.com/yuroyoro/scalaz-playground.git [~/sandbox/.../yuroyoro/work] Cloning into 'scalaz-playground…
Scalaの難易度とか学習曲線について、最近また議論されてるようですが、公式にはこのようなレベル分けになってますよ。Scala levels: beginner to expert, application programmer to library designer | The Scala Programming Language アプリケーションプ…
このエントリは Scala Advent Calendar jp 2011 の5日目です。Scalaやってる人なら一度はScala言語仕様に目を通したことがあると思います無いとは言わせない。この言語仕様を見ると、たまに思いもよらない発見があったりしますが、その中でほとんど利用され…
寝てる場合じゃねぇ! - プログラマーの脳みそScalaだとコンパイラ騙さなくても言語がサポートする機能でふつーにできるし。 object NoSleep extends App { trait Sleepy[A] { def sleep(n:Long):Unit } implicit val hoge = new Sleepy[Nothing]{ def sleep…
第一回 Scala会議 - [PARTAKE] で発表した内容です。20110828_ScalaConf01_introducing_Unfiltered_and_Finagle
BPStudy#49 : ATND で発表した資料です。20110930_BPStudy49
ドワンゴ社内 scala勉強会 - ニコニコ生放送での発表資料。20111120_Dwango_scala
以下の記事で紹介されているが、Scala2.10の実験的な機能として、 このコミットにより、 文字列中の式展開が入るかもしれない。 Algorithmically challenged: String Interpolation on 2.10? 式展開とは、Rubyでは"foo #{hogehoge}"のように文字列中に式を埋…
解いてみた。他の言語と違って、fib(92)以上はLongに収まらないのでBigIntを用いなければならないところがまずツラい。あとprintln長すぎる。 最初はStreamを使ってfibを定義した。 // 163bytes val x:BigInt=1 val f:Stream[BigInt]=x#::f.scanLeft(x){(a,b…
ᙐᐨᘍᐨ、ᓽᐓᔦᐓᓻᐓᓽᐓᓢᐓUnihanGridᔥᐓᗩᐯᔔᐓᓹᐓᘃᐹᔦᐓᓺᐓᓲᐓᔦᐓᓳᐓᓤᐓᓼᐓ、U+1400 ᓞᐓᔜᐓ U+16FF ᔑᐓᓺᐓᔁᐓᖯᐨᕻᐤᓟᐓᓕᐓᔑᐓᔝᐓᓾᐓᕂᐓᖏᐓᕾᐓᓺᐓᓗᐓᔠᐓᓗᐓᔠᐓᓻᐓᙀᐴᓛᐓᐦᐫᓾᐓᓰᐓᓙᐓᓾᐓᓽᐓᓶᐓᓲᐓᔁᐓᓺᐓᓬᐓ。 Unihan Index for U+1400 through U+14FF Unihan Index for U+1500 through U+15FF Unihan Index for U+1600…
型レベルプログラミング in Scala(Type-Level Programming in Scala) — Japanese translation of Apocalisp v1.0 documentation
日本語でおk Scala実践プログラミングposted with amazlet at 11.06.12秀和システム 売り上げランキング: 665Amazon.co.jp で詳細を見る 目次とかは内容については、 モテるScala女子力を上げたい人向けにScalaの本が出ます。 - ゆろよろ日記をみてください…
なんか、極めると「ほむほむ」だけで会話できるみたいですね? 俺はまだそこまでの域には至ってないんですが、「ほむほむ」だけでプログラミングできたらステキですよね?そこで、ちょっと草植えときますね型言語 Grassを元にして以前作ったプログラミング言語…
Scala2.9から、DynamicってのでRubyのmethod_missing的なことができるようになる.....ハズだったんだが、 2.9正式リリースの数時間前にいきなりこの機能はサポートされなくなった。 といっても全く使えなくなったわけではなく、scalacやscalaコマンドに-Xexp…
InfoQのScala2.9リリースの記事を読んでいて、Scala2.8から2.9へのバイナリ互換性確保のための方法について、こんな記述があった One such technological solution are compiler generated forwarders, so-called bridge methods, which delegate calls from…
最近REPLをHackするのが流行ってるみたいなんで俺もやってみた。scala.tools.nsc.interpreter.{IMain, ILoop}あたりのソースコードを読めば大体分かるよ。 REPLをコードに組み込む これは結構簡単で。scala.tools.nsc.interpreter.ILoopを作ってやればよい。…
軽くイラッ☆っとしたので書く。 Scalaにはimplicit conversionってのがあってまぁ知らないならググれ。で、implicit conversionを定義する際に、最低限チェックすべきたったひとつのことを書く。 「scala.Predefでimplicit conversionが定義されている型に対…
Java SE7も Developer Preview Releaseが出てもうみんな当然のように入れてると思います。 で、JavaSE7に入るProject Coinに、整数リテラル区切り文字ってのがあります。ようは、数値リテラル中で"_"による区切りを入れることを許すって仕様です。 int a = 1…
秀和システムさんからScalaの本が出ます。発売は多分6月くらいです。 "オープンソース徹底活用"シリーズとして、Scalaをより実践的に使うための色々な事を盛り込みました。タイトルはまだ未定です。 @kmizu, @ryugate ITプランニングさんから(@osiire @keigo…
宇宙に始まりはあるが、終わりはない。 ――無限
「まほうのこーどで♪ たのしい♪ れいがいが♪ ぬるぽぽ〜ん♪ 」 作ってみた。 // 入れ物はタッパーです。 trait Tapper[A] { val obj:A // RubyのObject#tap的な。引数fに自分自身を適用させて自身を返す。 // 副作用専用メソッド。nullだったらなにもしなー…
オライリージャパン様より献本頂きました。読了したので、感想など書いてみたいと思います。 プログラミングScalaposted with amazlet at 11.02.19Dean Wampler Alex Payne オライリージャパン 売り上げランキング: 69951Amazon.co.jp で詳細を見る The Pyth…
もう2週間以上前にもなりますが、Wicket勉強会 2011-01 : ATNDに行ってきたんですよ。 そこでWicket1.5からNew Event Systemってのが導入されてこれはScalaと相性いいんじゃね?みたいな 話になって、そりゃ俺に対して振ってるんだな、と思って書いてみました…
このまえ、夢の中でね、あるコレクションの中から特定のシグニチャを持つオブジェクトをより分けるようなコード書いてる夢見たんですよ。ええ、見たんです夢で。 で、ふと目が覚めて(深夜3時半)おもむろにREPLでいろいろやってみた結果を書こうと思います。…