gpt4 book ai didi

Haskell 编写您的 (.) 函数版本

转载 作者:行者123 更新时间:2023-12-02 12:09:23 25 4
gpt4 key购买 nike

有人可以帮助我在 Haskell 中编写我自己的 (.) 函数版本吗?来自这篇文章Haskell write your version of a ($) function我知道如何确定该函数的类型,但其主体仍然存在问题。我也不知道为什么 ghci 拒绝使用这个名字(..)。

 ($$$) :: (b -> c) -> (a -> b) -> a -> c 
($$$) f (g x) = ((f g) $) x
infixr 9 $$$

我的另一个想法是这样的:

($$$) :: (b -> c) -> (a -> b) -> a -> c 
($$$) f (g x) = map (f) (g x)
infixr 9 $$$

错误消息显示“模式中的解析错误:g”。

最佳答案

来自签名:

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

你的函数需要 3 个参数。所以我会开始:

($$$) f g x = ...
| | \
| \ a
| \
| a->b
b->c

更新

这种定义($$$)的尝试不起作用:

($$$) (f g) x = ...

它表示 ($$$) 需要两个参数。我开始定义 ($$$) 的方式表明该函数需要三个参数。

关于Haskell 编写您的 (.) 函数版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37624713/

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