当前位置: 首页 > 知识库问答 >
问题:

haskell中按自然顺序的函数合成

唐晗昱
2023-03-14

我们从右到左都知道并爱/恨作文:

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

什么是自然/从左到右组合的“最标准”操作符(如在某种公共库中):

(???) :: (a -> b) -> (b -> c) -> a -> c
(&) :: a -> (a -> b) -> b 

共有1个答案

毕浩渺
2023-03-14
import Control.Arrow
(>>>) :: (a -> b) -> (b -> c) -> a -> c

实际上,(>>>)比这更通用,因为它适用于任何类别,而不仅仅是(->)函数。不过,它经常用于前向函数组合。

 类似资料:
  • 问题内容: 我在mysql排序中寻找一些调整,我通常从表中选择记录,然后按Name(varchar)ASC排序记录, 但编号始终是第一位的 这是我的问题的一些示例( 注意。mysql首先用0-9排序记录 ) 我想要的是字母顺序,然后是数字 所需的输出 问题答案: 使用以下子句:

  • 在JavaScript中,该代码如下所示: 正如您所看到的,函数组合与JavaScript中的链接方法非常相似。我真的很喜欢链接方法从左到右读取的方式。在Haskell中,我可以使用中的函数和反向函数应用程序执行类似的操作,如下所示: 现在我想用点自由样式来写这个函数。使用函数组合,我将把它写如下: 函数组合的美妙之处在于它可以与自身组合,形成如上所示的“高阶函数组合”。因此,尽管它的类型签名直观

  • 函数组合是将一个函数的输出用作另一个函数的输入的过程。在数学中,合成用表示,其中是一个函数,其输出用作另一个函数(即)的输入。 如果一个函数的输出类型与第二个函数的输入类型匹配,则可以使用这两个函数来实现函数组合。我们使用点运算符()在Haskell中实现函数组合。 看下面的示例代码。演示如何使用函数组合来计算输入数字是偶数还是奇数。 在这里,在函数中,同时调用了两个函数和。编译器将首先以作为参数

  • ; ; ; 在2.中,设3。;因此,应为,,替换为1。,为,应为 但是,应该彼此相等,?如何使两者在GHCi中相互适应,它似乎用或代替了,那么它是如何前进的呢?

  • 问题内容: 我在postgres中有一个排序问题,其中包含诸如版本之类的值。版本是字符变化的,其值如下所示(无序)。 我如何按照自然顺序排序,这样当我发行时就会给我 代替 问题答案: Postgres允许您按数组排序-本质上就是版本号所代表的含义。因此,您可以使用以下语法: 这是一个完整的示例: 甚至是示威。

  • 我用递归函数在Haskell中实现一些数论函数的幂运算。我正在使用QuickCheck库来测试我的实现。为了简化我的测试,我使用了基库中的Natural数据类型,在quickcheck-instances库中定义的Natural任意实例,以及以下从Nat转换到Natural和从Natural转换到Nat的函数,考虑的是我自己定义的数据Nat: 在自然数上使用以下递归: 我的幂函数是