2016-06-29 9 views
3

What does comparable mean in Elm?comparableは、型変数を組み込み型に制限するために使用できるビルトイン型制約です。これはよく似ています。次の質問が思い浮かびます(見つけにくいです):Elmの型制約

  • 現在Elmには他のタイプの制約がありますか?どこかリストがありますか?
  • 独自の型制約を作成する方法はありますか? ElmはHaskell Typeclassesのような機構を持っていないので、答えはノーだと思いますか?
  • 上記がtrueの場合(カスタムタイプの制約なし)、それはElmで多型がかなり制限されていることを意味しますか?例えば、以下のようなことは今のところ達成できないと思われます。g(すなわち、f)の引数として使用できる要素(同じではあるが不確定な型の要素)のリストを受け入れる関数fを作成したいと思います。タイプaList a、しかもinstビーイングがg(inst)は理にかなっていることを意味受け入れ)
+0

[これらの](https://github.com/elm-lang/elm-compiler/issues/38)[two](https://github.com/elm-lang/elm-compiler/)問題/ 1039)型クラスに関する問題? – pdexter

+0

はい、私はこれらの両方を見ました。 OTOH、私は、「匹敵する」のような概念があることを知っていたので、私は確信が持てませんでした。 –

答えて

3

comparableほかに(int型、浮動小数点数、文字、文字列、リスト、タプル)appendable(文字列、テキスト、およびリスト)もありますし、 number(整数と浮動小数点数)私は正式なリスト(コンパイラソースの外)を見ていない。

あなた自身の類似のタイプメスを定義する方法はありません。

はい、これはあなたが書くことができる機能を制限します。この限界が問題であるとEvanに確信した人はいません。

+0

ありがとうございます。また、ハスケルの開発者がtypeclassesを十分に強力にするために構築したすべてのものを見てみると(これについてはまだ多くの人が怒っています!)、私はEvanがこれについて気にしていないことを理解しています:) –

関連する問題