タグ付けされた質問 「dependent-type」

4
依存して型付けされないのはなぜですか?
「Haskellは徐々に依存型付き言語になりつつある」という意見を反映するいくつかの情報源を見てきました。含意は、ますます多くの言語拡張により、Haskellがその一般的な方向に向かっていることですが、まだそこにはありません。 基本的に私が知りたいことが2つあります。1つ目は、非常に簡単に言うと、「依存型付き言語であること」は実際には何を意味するのでしょうか。(うまくいけば、あまり技術的ではありません。) 2番目の質問は...欠点は何ですか?つまり、人々は私たちがそのように向かっていることを知っているので、それにはいくつかの利点があるに違いありません。それでも、私たちはまだそこにいないので、人々がずっと先に行くのを止めるいくつかの欠点があるに違いありません。問題は複雑さが急激に増加しているという印象を受けます。しかし、依存するタイピングが何であるかを本当に理解していないので、私には確かにわかりません。 私が知っているのは、依存型プログラミング言語について読み始めるたびに、テキストがまったく理解できないことです...おそらくそれが問題です。(?)

4
scalaが依存型を明示的にサポートしない理由は何ですか?
パスに依存するタイプがあり、EpigramやAgdaなどの言語のほぼすべての機能をScalaで表現することは可能だと思いますが、Scalaが他の領域で非常にうまく機能するように、Scalaがこれをより明示的にサポートしない理由を知りたいと思います(たとえば、DSL)?「それは必要ない」のように私が欠けているものはありますか?

2
不規則な穴タイプの解決
私は最近、タイプホールとプルーフのパターンマッチングを組み合わせることで、HaskellでAgdaのような素晴らしいエクスペリエンスが提供されることを発見しました。例えば: {-# LANGUAGE DataKinds, PolyKinds, TypeFamilies, UndecidableInstances, GADTs, TypeOperators #-} data (==) :: k -> k -> * where Refl :: x == x sym :: a == b -> b == a sym Refl = Refl data Nat = Zero | Succ Nat data SNat :: Nat -> * …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.