タグ

ブックマーク / rirakkumya.hatenablog.com (2)

  • 「淡路島の電車の運行状況を取得する方法」のinterface問題をscalaの型クラスで書いてみた - だらだらしてたいなぁ

    元ネタはひしだまさんのエントリです。 淡路島の電車の運行状況を取得する方法 - ひしだまの変更履歴 その元ネタはこちらです。 「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々 interfaceを個別に増やすなら型クラスかな〜と思い試しに書いてみました。シンプルにする為に、いろいろ手を抜いていますのでご了承ください。 ついでなので、元の元記事のnull問題も解決して、DSLを使って日語で会話している風にしてあります。実際に動くので、sbt等で試してみてください。 簡単に説明 型クラス 型クラスを使う事によって、型ごと個別に振る舞い(interface)の定義ができます。今回は鉄道路線だけですが、後から飛行機やバス等を個別に増やすこともできます。*1 null問題 なんという事でしょう。scalaだとnull問題はEither型で解決できてしまいます。Eit

    「淡路島の電車の運行状況を取得する方法」のinterface問題をscalaの型クラスで書いてみた - だらだらしてたいなぁ
  • 圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ

    はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。 ただ、圏論といっても適用範囲がとっても広く、応用編になると分けわかんなくなってくるので、ここではプログラミング分野に特化したFP(functional programing)圏論*1について書きます。 また、説明を簡単にする為に細かい部分をいろいろ省略しています。学術的な定義としては正確ではないので、このエントリの説明は大体合ってる位の気持ちで読んでくださいね。 尚、ぼくは圏論の詳しい事はさっぱり分からないので、学問的な話を振られても回答できませんキリッ 圏ってなんなの? 圏論と言えば、圏です。 圏って何なのかというと、対象(obje

    圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ
  • 1