タグ 代数的データ型
人気順 10 users 50 users 100 users 500 users 1000 usersビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
Object-Oriented Conference 2024で発表した資料です。 https://fortee.jp/oocon-2024/proposal/b31c9818-3cb8-4350-adfe-cbc839cdf829 ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に代数的データ型などの関数型のパラダイムを加えたよりタイプセーフな関数型DDDを紹介します。 本セッションではドメ... 続きを読む
Java21とKotlinの代数的データ型 & パターンマッチの紹介と本当に嬉しい使い方 / Algebraic Data Type in Java and Kotlin: Happy Use of Pattern Match
JJUG CCC 2023 Fall で発表された内容です。 Java21ではパターンマッチがswitch式で正式に使えるようになります。 https://openjdk.org/jeps/441 これらの変更により型の検査がより強化されて、より実行時例外がすくなくコンパイル時に多くの実装ミスが検出できるようになります。 本セッションではJava21のパターンマッ... 続きを読む
代数的データ型をJavaで安全に使いこなす - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
関数型プログラミング由来の代数的データ型は、とても便利な道具です。馴染みのないメンバーに向けて、実例を使いながら詳しく解説してみました。 代数的データ型とは 直積型 直和型 直和型の Java での実装 ベタに class で表現してみる 2つのクラスと interface で実現 安全に利用できるメソッドを提供する おわりに ... 続きを読む
続くといいな日記 – type family を使って再帰的 ADT をオープンにする
元ネタは Trees that grow . Haskell では代数的データ型 (ADT) を使ってプログミングに使うデータ構造を定義し,その構造を操作することによりプログラミングを行う. ADT はパターンマッチが容易で,再帰的に定義でき,基本的に閉じた構造になっている.そのため便利な反面,その機能が保守で仇となる場合もある.こ... 続きを読む
GHC Generic Programming と代数的データ型 - khibino blog
2017 - 12 - 26 GHC Generic Programming と代数的データ型 Haskell Advent Calendar 2016 の 12日目のエントリーです。 代数的データ型と Functor Generic Programming は代数的データ型の構造を Functor の直積と直和のネスト構造に対応付けることで、 任意の代数的データ型に対する操作の記述を可能にする仕... 続きを読む
ラムダ計算で代数的データ型を表現する方法 - Meta reifier @syamino
ラムダ計算ラムダ計算でEitherEither型の値をパターンマッチする状況を考えます。「データコンストラクタのパターンマッチ」は,下図のようにしてラムダ計算で表現できます。 ラムダ計算でBool今度は,Bool型の値をパターンマッチする状況を考えます。TrueやFalseには引数が無いので,(3)や(4)はλで囲みません。 パターンマッチ = 「データコンストラクタを他の関数に置き換えること」パ... 続きを読む