https://github.com/ueshin/docker
$ docker run -it -p 14040:4040 spark:1.1.0-rc4
import scalaz._ | |
import Scalaz._ | |
object StateTLearning extends App with StateTFunctions { | |
case class DB(v: Int) | |
val initial = DB(1) | |
https://github.com/ueshin/docker
$ docker run -it -p 14040:4040 spark:1.1.0-rc4
package com.example.core.application | |
import com.mongodb.casbah.Imports._ | |
import java.util.UUID | |
import com.example.domain.{User, Address, Customer} | |
/** | |
* Contains type classes that deserialize records from Casbah into "our" types. | |
*/ | |
trait CasbahDeserializers { |
package scalaz | |
/** | |
* @see [[http://www.fceia.unr.edu.ar/~mauro/pubs/Notions_of_Computation_as_Monoids.pdf]] | |
*/ | |
sealed abstract class FreePreArrow[F[_, _], A, B] extends Product with Serializable { | |
def mapfst[AA](f: AA => A)(implicit F: Profunctor[F]): FreePreArrow[F, AA, B] = | |
FreePreArrow.instance[F].mapfst(this)(f) | |
def mapsnd[BB](f: B => BB)(implicit F: Profunctor[F]): FreePreArrow[F, A, BB] = |
レンズは余状態余モナドの余代数だった | |
=================================== | |
余余余〜!別名`関数的参照`とも呼ばれる[レンズ](https://hackage.haskell.org/package/lens)はJavaのGetter, Setterと同等と[言われる](https://twitter.com/plt_borat/status/228009057670291456)関数型プログラミングのデザインパターンの一つです。 | |
レンズは余状態余モナドの余代数だと[聞いて](https://twitter.com/hiratara/status/317602743219003392)そうなのかーと思ってたのですが、ふと自分で実装してみたくなったので **余状態余モナドの余代数** として実装してみることにしました。 | |
ちなみにこの文章は`literate Haskell`という形式で書かれているのでダウンロードしてghciでロードすればすぐにでも自分で試すことができます。 | |
まず最初におまじない | |
> {-# LANGUAGE RankNTypes #-} |
trait ConsoleAlg[F[_]] { | |
def readLine: F[Option[String]] | |
def printLine(line: String): F[Unit] | |
} | |
trait Console[+A] { | |
def run[F[+_]](F: ConsoleAlg[F]): F[A] | |
} | |
object Console { |
(2019/04 追記 こちらの情報は非常に古く、またRC版での結果となります。記録として残していますが参考になさらないでください)
CyberAgent エンジニア Advent Calendar 2014 2日目です。
昨日に引き続き、秋葉原ラボの柿島が担当します。仕事ではHadoopクラスタの運用を中心に、秋葉原ラボのインフラ/ミドルウェアまわりを担当しています。今年はHadoop、mesos、Aerospikeと分散型のシステムを触る機会が多い1年でした。
この記事のテーマはRedis Clusterです。Redis Clusterが使えるようになるRedis 3.0.0は10月にRC1がリリースされました。2015年のQ1にstableリリースを目指しているようです。