Lambdaカクテル

京都在住Webエンジニアの日記です

Shapelessの勉強(その2)

Shapelessの勉強をしていて、これは2日目の備忘録。教科書は、The Type Astronaut’s Guide to Shapeless。 1日目はこれ blog.3qe.us 前回は、Chapter 2まで進み、GenericとHList、Coproductについて学んだ。 復習 Shapelessが用意している型クラスのイディオ…

Catsを使ってReader関手・Reader Applicative関手を勉強したよ

先日、Haskellで書かれたおもしろFizzBuzzの事を思い出した。読んだときはよく分からなかったけれど、型クラスへの理解が進んで、結構意味が分かるようになりつつある。そこで、それにまつわる要素をちゃんと勉強することにした。勉強といってもCatsでの使い…

Shapelessの勉強(その1)

ScalaにはShapelessというジェネリックプログラミングを推進するためのライブラリがあって、同じ型の構造を持つCase Class間を変換するといった操作ができるのだけれど、あまり詳しいことは知らなかったので、公式のガイドブックを読んで勉強することにした…

ScalaのCatsのAlternativeチョットワカル

Scalaの関数型ライブラリ(?)であるCatsには色々な型クラスが実装されていて、だいたい良く使うのはMonoidとかMonoidKとかApplicativeとかなんだけど、その昔関数型FizzBuzzのことを考えていたときにAlternativeが使われていて、そのことがずっと気になって…

Noneは空文字に写したい、そんな君のためにcombineAllがある

Scalaをやっていて、val x: Option[String] = Noneを""に写したいことが100万回くらいある。しかしx.getOrElse("")と書くのは納得いかない、という状況になっていた。 なぜかというと、Stringはモノイドだし、モノイドには空要素emptyがあるはずで、Option[A…

抽象的な考え事をしてはいけない

抽象的な考え事をしても意味が無いし却って悪影響があると思うようになった。つまりボンヤリ生きずに目の前の物事をよく見るべきということ。なぜか。2つの論点がある。 そもそも抽象的な考え事とは何かというと、ちょっとした隙間時間のようなものができた…

こういう系統の曲をずっと聴いている

www.youtube.com www.youtube.com www.youtube.com www.youtube.com チップチューンとはなんか違っていて、独特のヴォーカルと曲調、世界観や雰囲気が共通しているこういう曲をずっと聴いている。SoundCloudでこういう曲を聴きまくっていたら、勝手にどんど…

Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?