@omasanori ありがとうございます。いま別の文献の introduction を読んでいて (Polymorphic set-theoretic types for functional languages - TPetrucciani-thesis.pdf https://tel.archives-ouvertes.fr/tel-02119930/document の P.26 の function overloading)だいぶ理解してきました
@anqou “Programming with union, intersection, and negation types” https://arxiv.org/abs/2111.03354 ?
main.dvi - main.pdf https://hal.archives-ouvertes.fr/hal-01325644v1/document
読んでる。Def 4.1 がそれっぽい。無限の話は多分飛ばして良くて、intersection と言っているのは /\ のことっぽい。semantics は Fig 2 か。\/ の定義が本質的だが、かなり込み入っている。
intersectionを取ると空じゃね?、monomorphicな系だとそうだけど「polymorphicな値」があるとそれを満たせるのかなぁ
しかし intersection だと、素直に考えると結果が空に見えるので、多分何かしらの写像を考えてから intersection をとっている気がするけど、でもなるほどなぁ
(x: number) => x / 2 と (x: string) => x.substr(x.length / 2) のどっちとしても使えるみたいな感じだと intersection になるのかな
自分も最初は (A → A) ∨ (B → B) かと思ったんだけど、これだと f: A → A や g: B → B が当てはまる型になってしまって、A → A と B → B の両方を満たす制約にはならないということだと理解した。
これ intersection なんだ。ぱっと見、union じゃないのと思った
A | B → A | B よりも厳しい (A → A) ∧ (B → B) を表せるような型システム、面白そう。
My Future with Elixir: set-theoretic types - The Elixir programming language
https://elixir-lang.org/blog/2022/10/05/my-future-with-elixir-set-theoretic-types/
量子光のパルス波形を自在に制御する手法を開発|2022年|NICT-情報通信研究機構
https://www.nict.go.jp/press/2022/10/29-1.html
短距離光通信向け光コヒーレント伝送方式を開発し、高速光信号伝送に成功|2022年|NICT-情報通信研究機構
https://www.nict.go.jp/press/2022/10/31-1.html
オーテク、レコードを挟んで再生「サウンドバーガー」復刻。Bluetooth送信可能 - AV Watch https://av.watch.impress.co.jp/docs/news/1452181.html @avwatchから
サウンドバーガーちゃん
3型スマホ「Jelly 2E」登場。Andoroid 12搭載の廉価版。ただし日本では販売せず - PC Watch
https://pc.watch.impress.co.jp/docs/news/1452132.html
Go言語製 ActivityPub サーバーの最小実装 honk を立ててみた | Coelacanth's Dream
https://www.coelacanth-dream.com/posts/2022/06/19/honk/