終了 2014/07/13(日) 13:00〜 Scalaz勉強会 Scala勉強会ではなく、Scalaz勉強会です xuwei_k 他 東京都中央区銀座4-12-15
immutableScalaでは基本的にオブジェクトは不変 不変性を壊さずに手続き型プログラミングを行う方法を紹介する ここではテトリスを題材にする テトリスのモデルtype Point = (Int, Int) type Piece = Vector[Point] type Field = Vector[Vector[Boolean]] case class Tetriz(field: Field, piece: Piece, position: Point) Lens不変オブジェクトの操作にはLensを使う object Point { def x: Lens[Point, Int] = Lens.firstLens def y: Lens[Point, Int] = Lens.secondLens } ScalazにはScala標準のデータ型に対する様々なLens定義されている Le
2-3フィンガーツリー(2-3 finger tree、または単にfinger tree)とは、列を表す永続データ構造の一種であり、償却定数時間で両端への追加・削除が可能であり、対数時間で連結・分割・挿入が可能である。また、分割演算を変更すると優先度付きキューや探索木などを実装できる。2006年にRalf HinzeとRoss Patersonが発表した[1][2]。 関数型プログラミング言語などで使われる。Haskellでは、containersパッケージ[3]に列に特化した実装のData.Sequence[4]が含まれ、列に限定しない汎用の実装もfingertreeパッケージ[5]として存在する。Scalaでは標準ライブラリには含まれていないが、scalaz[6]などのライブラリなどで実装されている。その他、様々なプログラミング言語で実装されている。 2-3フィンガーツリーは分岐数が2
Tagged Typeとは?ある型と値は同じだけど違う型を持たせる いくつか実装がある 今回はScalaz 7.1.0-RC1のものについて Scalaz 7.0.xまでとは挙動が異なる shapelessにも存在する Scalaでの実現方法を考えたのがshapeless作者のMiles Sabinさん 7.0.xと同様のものがshapeless.tag、7.1.0-RC1と同様のものがshapeless.newtypeとして定義されている Tagged Typeとは?scala> import scalaz.Tag import scalaz.Tag scala> sealed trait Foo defined trait Foo scala> "Hello, Scalaz!" res0: String = Hello, Scalaz! scala> Tag[String, Foo](
class: center, middle # Scalazの歴史と概要 <a style="font-size: 10%" rel="license" href="http://creativecommons.org/licenses/by/2.1/jp/"><img alt="クリエイティブ・コモンズ・ライセンス" style="border-width:0" src="http://i.creativecommons.org/l/by/2.1/jp/88x31.png" /></a> --- class: middle <img src="https://pbs.twimg.com/profile_images/1931553270/xuwei.gif" width="100" height="100" /> - twitter [@xuwei_k](https://twitter.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く