【问题标题】:(sequence .) . flip fmap === forM?(顺序 。) 。翻转 fmap === forM?
【发布时间】:2021-05-17 17:49:19
【问题描述】:

(sequence .) . flip fmapforM 一样吗?我在这里问是因为pointfree.io 似乎不一样...

【问题讨论】:

  • 我相信它们是等价的。 AFAIK,pointfree.io 不保证最短的选项,或者一般都知道所有的库助手。
  • 完全正确; (sequence .) . flip fmap已经采用无点形式。这是pointfree.io,而不是minimalexpression.io
  • 是的,我知道它已经是无点的,但不知何故,我从来没有尝试过在那里放置已经无点的表达式,所以我确信它会缩短到最低限度。我什至不知道这是否可能。

标签: haskell functional-programming pointfree equational-reasoning


【解决方案1】:

是的,它是:

(sequence .) . flip fmap
(sequence .) . (\u f -> fmap f u)
\u -> sequence . (\f -> fmap f u)
\u f -> sequence (fmap f u)
\u f -> mapM f u
flip mapM
forM

As chi notes,大概就是pointfree.io不知道forM吧。

【讨论】:

    猜你喜欢
    • 2015-08-21
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 2020-11-02
    相关资源
    最近更新 更多