21
私はハスケルコードで遊んでいるときに、しばしば型名とundefined
で物事をスタブします。タイプレベルで未定義
foo :: String -> Int
foo = undefined
同様の方法で使用できるタイプレベルの「未定義」はありますか?
(理想的には、種類の注釈と一緒に)同じスレッド上
type Foo :: * -> *
type Foo = Undefined
さらに思考:私はこの方法で作成したタイプのためのインスタンスを型クラススタブするための方法はありますか?次の理論的な方法よりも簡単な方法ですか?
instance Monad Foo where
return = undefined
(>>=) = undefined
ニース!まさに私が探していたもの。 'Foo = Undefined'を書く必要がないので、さらに便利です!そして、一種の署名!素晴らしい醤油。 –
私はそれが型エイリアスと同じではないと信じています。あなたが新しいデータを導入すると、 'Foo a = a'ということはありません。だから、質問のコードと同じではありませんが、これは問題ありません。 – gatoatigrado
@gatoatigrado:私は、この要件は、タイプエイリアスではなく、まだ書かれていないタイプのプレースホルダであったと考えています。そして、これが適切な解決策です。とにかく、ダンを助けてうれしい! – danr