続々・C#のジェネリクスで型クラスを真似る
「F# で高階型のエミュレーション - pocketberserkerの爆走」およびその記事で紹介されているhighjを参考にするとこんな感じになるだろうか。
前回のエントリだと、値クラスMaybe<T>
は抽象クラスMonad<T>
を継承していたが、この実装だとメソッドを持たないマーカーインターフェース_<T, TValue>
を実装するだけだからシンプルだと思う。ただし、型クラスもどきインスタンスを意識的に渡す必要はある。
また、これは前回のエントリと同じだけど、型クラスもどきのメソッドを呼び出すたびにMonad<Maybe.µ, T>
やFunctor<Maybe.µ, T>
にアップキャストされてしまうので明示的なダウンキャストでMaybe<T>
に戻さないといけなくなる。
Windowsのことですね、わかります
まあPowerShellについては、なんというか簡単じゃないよね……
ジャバにもとばっちりきてる
-
-
- -
-
奥さんは「多様性は善」とかぬかす権利ないな。それはともかく。
まあ、このあたりのこともねえ、LLのインタプリタというよりはPOSIX互換レイヤを必要としないユーザーが多かったという文化からきてるよねえ。SUAもサポートされなくなったし。
マイクロサービスとSOA
とりま本文からリンクされてるマーティンファウラーの記事を勝手に訳しました。
マイクロサービスとSOA (Microservices and SOA)
マイクロサービスについて語る時によく言われるのが「へぇー、この考え方って10年ぐらい前に流行ったただのサービス指向アーキテクチャ(SOA)だよね、10年前に見たわー」だ。…… https://gist.github.com/matarillo/a3fe1ba60e36e9e2827c
わたしの理解はこんなかんじ
この意見には納得する
けど、これにも共感する(乱暴だけども)