はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ 直和型

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 5 / 5件)
 

直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton

2023/02/02 このエントリーをはてなブックマークに追加 15 users Instapaper Pocket Tweet Facebook Share Evernote Clip ユニオン型

// 割る2をする関数の引数が偶数であることを型によって強制する例(実用性はない) data O // 数字の0を表すデータ型 data S(A) forall { A } // +1を表すデータ型 // 型エイリアス type Nat = O | S[Nat] // 非効率すぎる他倍長整数 type Even = O | S[Odd] type Odd = S[Even] // 偶数を引数にとって2で割った結果を... 続きを読む

代数的データ型をJavaで安全に使いこなす - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

2022/06/29 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip BIGLOBE Java INTERFACE class 技術

関数型プログラミング由来の代数的データ型は、とても便利な道具です。馴染みのないメンバーに向けて、実例を使いながら詳しく解説してみました。 代数的データ型とは 直積型 直和型 直和型の Java での実装 ベタに class で表現してみる 2つのクラスと interface で実現 安全に利用できるメソッドを提供する おわりに ... 続きを読む

Union Typesは直和型ではない | 雑記帳

2015/03/10 このエントリーをはてなブックマークに追加 15 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita TypeScript 雑記帳 フツー 概念

TypeScript 1.4について、 TypeScript 1.4.1 変更点 – Qiita という記事が目に留まった。で、その中の 直和型(Union Types) という項目に引っかかりを感じた。 なぜ引っかかりを感じたかというと、TypeScriptに今回導入されたUnion Typesと、巷に言う直和型というのは、異なる概念であるからだ。 注意:以下の話は型理論の専門家でもないフツーの... 続きを読む

#1

2014/07/13 このエントリーをはてなブックマークに追加 38 users Instapaper Pocket Tweet Facebook Share Evernote Clip Scala Option DRY Future 例外

例外によるエラー処理の問題点 副作用である 型チェックできない(Scalaは非チェック例外しかない) try catch構文はめんどくさい(catchしてまた例外を投げたり、DRYに書けないことも多い) 例外が起きてほしくない場所がある(Futureの中など) 直和型を使って解決したい 直和型とは 複数の型のうちどれかを表す型 たとえば 何もない or Aの型のデータがある → Option[A]... 続きを読む

Java の語彙で Maybe を説明してみる - ぐるぐる〜

2012/06/28 このエントリーをはてなブックマークに追加 228 users Instapaper Pocket Tweet Facebook Share Evernote Clip Maybe イミフ 西尾泰和 java-ja 語彙

java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリーを読んで。Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。ただし、書いてたら結構長くなりました。時間がある人は... 続きを読む

 
(1 - 5 / 5件)