Lambdaカクテル

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

プログラミング言語の高度な抽象化機能の主戦場は「テスト」なのかもしれない

同僚のコードをレビューしていると、たまたま複雑なロジックを使っている箇所を修正していて、付随するテストもけっこう複雑だった。APIレイヤのテストなので、JSONのスタブを書いてその通りに帰ってくることを確認する、みたいな作業を何度もやらなければな…

Shapelessの勉強(その4)

今日は、これまでに学習してきた Genericを拡張した LabelledGenericについて学習していく。これによって、型レベルでフィールド名や型名を扱う事ができるようになり、Shapeless が扱える処理の範囲がさらに広がる。 前回はこちら。 blog.3qe.us Literal typ…

だが不思議であり怖いのは、意義を感じながらやっていると、突然ぽっかりと穴が空いて、水を張ったガラスの器が床に落ちて砕け散ってしまうように、折れてしまうことが、予告無しに起こることだ

眠れないとき、同時に眠りたくないという感情も発生しているらしいことに気付いた。眠ってしまうと何かを喪失してしまうので、眠ろうという気にならない、ような。 じゃあどうして眠りたくないのかというと、自分が全然前に進んでいないような気がするから。…

文字が持っていたフィクション性の終焉

インターネットをしているとしばらくぼんやりした気分になってしまうことがある。それ自体はよくあることなのだが、自分の脳というか意識がどこに属しているのかが気になってきた。おそらく脳は自分がどこに属しているのかを知っていて、現実よりもより現実…

型付きのタスク同士の依存関係を解決するソルバは書けるのか その1

こういう話題: 今日 @yigarashi_9 と会話してて、「相互に依存し合ったタスクの集合からグワッとDAGを生成してトポロジカルソートして一つずつ解決していくみたいなパターンあるよね」みたいな話をしたけど、なんか名前あったっけみたいなモヤモヤが、ずっと…

ScalaTestでテストをIgnoreする方法いろいろ

開発していると、「テストが落ちるけど一時的にマージしたいからテストを通したい」ということがたまにある。そういうときにScalaTestではどうするのかについて調べてみた。 テストスイートごとignoreする 個々のテストをignoreする AnyFlatSpecを使っている…

(追記あり)CatsでReaderになるfunctionをいい感じに合成したいけど微妙

tl;dr (f, g) mapN (_ compose _) しましょう f -> g mapN (_ <<< _)って書くとちょっとかっこいい つづき 最近ずっとCatsの記事を書いているな…… 先日、(->) r がApplicativeになるという話をした。 blog.3qe.us んで、この(->) rが2つあるときに、これらを…

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