Haskell/Elm中的语法

Bog*_*nko 2 haskell elm

在Haskel/Elm中找不到关于此语法的任何内容:

bar day yOffset =
    rect
        [
            x <| toString <| (day.xOffset * (barWidth + barMargin)),
            y <| toString <| if day.amount <= 0 then yOffset
                else yOffset - day.amount,
            height <| toString <| abs day.amount,
            width <| toString barWidth
        ]
        [ Svg.title [] [ text day.day ] ]

min = List.map (\x -> x.words) lastTwoWeeks
            |> List.minimum
            |> Maybe.withDefault 0
            |> (\x -> if x > 0 then 0 else x)
Run Code Online (Sandbox Code Playgroud)

什么意思<| 和|>?

Ale*_*nov 7

它不是语法,它只是一个普通的Elm函数.来自http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Basics#%3C | :

(<|) : (a -> b) -> a -> b

向后功能应用f <| x == f x.此功能对于避免括号非常有用

和类似的x |> f == f x.Haskell的等效的<|被称为$,并且|>Data.Function.&(在基地4.8.0.0添加).