algebraic-data-types

    7

    2答えて

    型ではなく、型の要素、具体的には整数によってパラメータ化されたHaskell型をいくつか作成しようとしています。例えば、R^2の(線形代数)ベクトルとR^3のベクトルは異なる型付きオブジェクトです。具体的には、私はハスケルにK-Dツリーを作成しています.3Dツリーと4Dツリーが異なるタイプになるように、データ構造を正の整数でパラメータ化したいと思います。 私はタプルでツリーをパラメータ化しようとし

    9

    2答えて

    IのようなHaskellのADTを使用している場合: data Foo = A Int Double | B Bool [Integer] | C (Maybe String) Float A、B、及びCがデータコンストラクタと呼ばれます。場合によっては値コンストラクタとします。しかし、正確な名前は何ですか: "行/代替": B Bool [Integer]; 「行/代替」の「フィールド

    4

    2答えて

    Haskell(GHC)でこれを定義すると、リストスタイルの無限型エラーが発生しないのはなぜですか? data Broken = Broken { title :: String, loop :: Broken } それは型エラーなしでコンパイルが、明確には使用できないタイプだ:私は foo = Broken "one" (Broken "two" (Broken "thr

    2

    1答えて

    Opaの背後にある概念をより深く理解しようとしています。特に、私は、MLやHaskellのような差別化された共用体を提供しない(つまり、0以上の値をラップするいくつかのコンストラクタを定義する)ことはできませんが、それらのレコード型と合計型にとどまることには興味があります。この決定は私には完全に意味があります(おそらく私はFPよりもOOPにいるためです)。そして、それは差別化された組合でできるすべ

    0

    1答えて

    : data Color = HexColor Int | RGBColor Int Int Int | ColorString String deriving Show data FontAttribute = Size Int | Face String | FontColor Color deriving Show data Font = Font [FontAttribute] der