榆树支持美元运算符 ($) 吗?

Is the dollar operator ($) supported in elm?

在 Haskell 中,您可以使用 $ 运算符来清理代码位,不再需要括号。

elm 是否支持此运算符或类似的东西?

我可以自己定义它,但我希望这是内置的东西。

工作原理如下:

import Html
import List exposing (map, foldr)

datas = [("a", 1), ("b", 2), ("c", 3)]

{--}
($) : (a -> b) -> (a -> b)
($) a b = a b
infixr 0 $
--}

main =
  {-- replace all these parens
  Html.text (toString (foldr (++) "" (map fst datas)))
  --}
  Html.text $ toString $ foldr (++) "" $ map fst datas

是的,我们使用 <| 而不是 $。我们从 F# 中借用它以及翻转版本 |><< 用于组合 . 和翻转版本 >>.
一旦引入这些,人们自然而然地被称为 'pipelining' 的风格所吸引,在这种风格中,您可以获取一些数据并使用 |> 运算符通过几个步骤对其进行转换。如今,与使用 <| 相比,这是 Elm 代码中更常见的代码模式。

例如:

update : (Float, Keys) -> Model -> Model
update (dt, keys) mario =
  mario
  |> gravity dt
  |> jump keys
  |> walk keys
  |> physics dt

(摘自Mario example on the website