タグ

ブックマーク / kmizu.hatenablog.com (4)

  • 『やさしいScala入門 平明な例と演習問題で学ぶ』の感想というかダメだし - kmizuの日記

    発売日は2/22だが、秋葉原の書泉で先行販売?されてたので、購入した。このの著者がこれまでに書いたの評判がよろしく無いらしいことは、Twitterで事前に情報を入手していたから知っていたので、内容のひどさについてはある程度覚悟していたが、こりゃダメだ。何がダメって、細かい間違いがいくつもあるとかそれどころではなく、全体的にダメだ。以下、どのようにダメなのかについて、簡単に説明してみる。 関数型プログラミングについてほとんど触れられていない 「はじめに」には、次のようにある: (snip) オブジェクト指向と関数型プログラミングの両方を利用できるということは、Scalaをマスターするためには両方の概念と用語、そして、それらを結合する新しい概念とその用語を学ぶ必要があるということです。しかし、書では「Hello,Scala」を出力するための単純なプログラムからはじめて徐々に高度な内容にな

    『やさしいScala入門 平明な例と演習問題で学ぶ』の感想というかダメだし - kmizuの日記
    Felio
    Felio 2010/02/22
    買って、読んで、書いているところがえらい
  • S-99: Ninety-Nine Scala Problems(P01-P10)を解いてみた - kmizuの日記

    S-99: Ninety-Nine Scala Problemsというのは、P-99: Ninety-Nine Prolog Problemsが元ネタの、99個の小問題をScalaで解いてみるというもので、実際に99個の難易度の異なる問題が用意されている。一気に99個やるのはきついので、今日はとりあえず最初の10問(P01-P10)を解いてみた。ただ、問題によっては組み込みメソッドを使うとそのまま解けてしまうものもあるので、 基的なメソッド(List#headやList#tailなど)を除いて、問題をそのまま解けるような組み込みのメソッドは使わない 高階関数に関しても、組み込みのものは使用せず、必要なら自分で定義して使うようにする という縛りをつけてみた。 P01-P10まで、テキトーに問題文を意訳してみると P01(*) リストの最後の要素を見つけよ P02(*) リストの最後の一つ前

    S-99: Ninety-Nine Scala Problems(P01-P10)を解いてみた - kmizuの日記
    Felio
    Felio 2009/05/21
  • 限定継続を実現するScalaコンパイラプラグインを試してみる - kmizuの日記

    現在、Scalaでファーストクラスの継続を扱うことはできないが、Scala 2.8からは、コンパイラプラグインという形で、限定継続(Delimited Continuation)を扱う機能が提供されることになっている。2.8は未だリリースされていないが、Scala 2.8のnightly buildと、コンパイラプラグインのソースをリポジトリから入手すれば、限定継続の機能を試してみることができるようだ。 というわけで、試してみた(参考:http://blog.richdougherty.com/2009/02/delimited-continuations-in-scala_24.html)。 Scala 2.8のnightly buildをダウンロード Delimited Continuationを実現するコンパイラプラグインをリポジトリから入手 >svn co http://lamps

    限定継続を実現するScalaコンパイラプラグインを試してみる - kmizuの日記
    Felio
    Felio 2009/05/19
    delimited continuationが何なのかを調べないと。
  • 新しいScala Eclipse Pluginの補完が凄い - kmizuの日記

    ここの動画を見て、ちょっと試してみたんだが、なかなか頑張ってる。凄いのは、implicit defによる暗黙の変換をちゃんと見て補完候補を表示しているところ。ここでは、レシーバがSeq[Int]である場合にのみ、sumメソッドを追加するように定義してあるのだが、レシーバがSeq[Int]以外の場合は、sumメソッドは補完候補に表示されないようになっている。ちなみに、この新しいScala Eclipse Pluginはまだ開発中でリリースはされていないようだが、http://www.scala-lang.org/downloads/distrib/files/nightly/scala.update/から更新マネージャを使ってインストールして試すことができる。

    新しいScala Eclipse Pluginの補完が凄い - kmizuの日記
    Felio
    Felio 2008/05/05
    [eclipse]
  • 1