此Elm函数的正确类型注释是什么?

时间:2019-02-16 21:28:59

标签: elm

此代码无需类型注释即可工作,但是我不知道如何注释formView函数。我也不知道这是一个泛型函数还是实际上称为什么?

import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Events exposing (..)

type Msg = EmailChanged String | PasswordChanged String

formView : String -> msg -> Html Msg
formView label msg = div [] [text (label ++ ": "), input [onInput msg] []]

main = div [] [formView "Email" EmailChanged, formView "Password" PasswordChanged]

1 个答案:

答案 0 :(得分:0)

使用Elm REPL向我展示了@JörgW Mittag建议的类型推断者的推断

由类型推断者推断出的正确类型注释是:

formView : String -> (String -> msg) -> Html msg