私はこのコードがエラーなしでコンパイルされていることを見てきました。パラメトリック型を指定するのはコンパイラによって強制されません - これはバグですか、または予期されていますか?
type alias Foo = List
vs
type alias Foo = List String
List
とだけではありません。カスタムユニオンタイプも使用できます。例: - どのようにそれについて推論する
type State value = Valid value | Invalid value
type alias Model1 =
{ someField : State String } -- i would say this is normal. State is a string..
type alias Model2 =
{ someField : State } -- this doesn't look right.
も機能は
function1 : List String -> Int
function1 aListOfStrings =
1
function2 : List -> Int
function2 whatisThisNow =
1
しかし、期待されている場合
を許可されていますか?私はそれの周りに私の心を包むことはできません。それで遊ぶ here。
最初の例はわかりました。部分的な関数型アプリケーションを実行することができます。しかし、他の2つは実際に制限されるべきもののように見えます(タイプが型関数である値がないためです)。 –
これは混乱しているようです。あなたはSlackについて尋ねれば、おそらくもっとフィードバックを得るでしょう:http://elmlang.herokuapp.com/ – hkgumbs