b) -> (b -> b -> -6ren">
gpt4 book ai didi

haskell - 通过对 Haskell 中二元函数的两个参数进行某种转换来实现 "lift up"的最惯用方法是什么?

转载 作者:行者123 更新时间:2023-12-02 13:11:51 24 4
gpt4 key购买 nike

通过某种转换来“提升”Haskell 中二元函数的两个参数,最惯用的方法是什么?让这个运算符被命名为“lift”,所以我预计它的类型将是

lift :: (a -> b) -> (b -> b -> c) -> (a -> a -> c)

一个幼稚的定义是

lift t f = \x y -> f (t x) (t y)

最佳答案

它的名字是 on (来自 Data.Function),尽管参数翻转:

on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
-- lift = flip on

请注意,您可以使用 Hoogλe 轻松找到该函数。询问。另请注意,已经有一个函数 lift,它用于完全其他的设置,即 monad 转换器。

关于haskell - 通过对 Haskell 中二元函数的两个参数进行某种转换来实现 "lift up"的最惯用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24994648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com