如何读取haskell类型签名?

2024-02-24

所以我把这个声明放在我的ghci上

jkl x f y = f (map (+y) x)

我把这个放回去了。

jkl :: Num b => [b] -> ([b] -> t) -> b -> t

但当我读到它时我很困惑。根据我的理解,jkl 是 num 类型,它采用 [b]、[b] 和 t 以及 b。最后会输出t。这是正确的阅读方式吗?


jkl :: Num b => [b] -> ([b] -> t) -> b -> t

无论谁打电话jkl has to

  • 选择类型b and t
  • 保证b是在数字类型中选择的(Num b约束)
  • pass a [b](列表b) 作为第一个参数
  • 传递一个函数[b] -> t作为第二个参数(即采取[b]并返回一个t)
  • pass a b作为第三个参数
  • receive t返回作为最终结果
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何读取haskell类型签名? 的相关文章

  • 无点镜头创建不进行类型检查

    在函数中test 我遍历一个列表 从它的成员生成镜头 然后打印一些数据 当我使用有针对性的呼叫风格时 这会起作用 当我使其成为无点时 它无法进行类型检查 为什么会出现这种情况 我该如何解决这个问题 在我看来 GHC 并没有保留排名较高的信息
  • Haskell 中的 print 是纯函数吗?

    Is print在 Haskell 中是纯函数 为什么或者为什么不 我认为不是 因为它并不总是返回与纯函数应返回的值相同的值 类型的值IO Int并不是真正的Int 它更像是一张纸 上面写着 嘿 Haskell 运行时 请生成一个Int如此
  • 搜索重写规则

    有什么办法可以浏览或搜索重写规则吗 当我使用像这样的标志时 ddump rule firings or ddump rule rewrites我只是得到了触发的规则的名称以及它引起的重写 但没有得到实际的规则本身 理想情况下 我想通过 GH
  • 将 num 的签名键入 double?

    我才刚刚开始为你学习 Haskell 以获得伟大的好处 并且我在类型类方面遇到了一些麻烦 我想创建一个接受任何数字类型并强制其为双精度的函数 我的第一个想法是定义 numToDouble Num gt Double 但我认为这不起作用 因为
  • 以下两个 lambda 函数的空间复杂度

    我正在阅读以下内容 https en wikibooks org wiki Haskell Graph reduction https en wikibooks org wiki Haskell Graph reduction 其内容如下
  • Haskell 中的中缀运算符优先级

    对于以下 Haskell 表达式 返回 a gt gt f 应该读作 返回a gt gt f or 返回 a gt gt f 这里的相关规则是什么 规则始终是函数应用程序的优先级高于任何运算符 因此 return a gt gt f 被解析
  • 简单 Haskell Monad - 随机数

    我正在尝试扩展代码这个帖子 https stackoverflow com questions 3944170 haskell and state 接受的答案 允许我能够基于以种子作为参数的函数 randomGen 调用 randomGen
  • Haskell - lambda 表达式

    我试图了解什么是有用的以及如何在 Haskell 中实际使用 lambda 表达式 我不太明白使用 lambda 表达式相对于定义函数的约定方式有何优势 例如 我通常会执行以下操作 let add x y x y 我可以简单地打电话 add
  • Data.Sequence 中的 inits 和 tails 如何工作?

    Louis Wasserman 编写了当前的实现inits and tails in Data Sequence 他表示它们非常高效 事实上 只要查看代码 我就可以看到 无论它们在做什么 它们都是以干净 自上而下的方式进行的 这往往会给惰性
  • 带有 RankNTypes 扩展的奇怪类型推断

    我正在尝试在 Haskell 中尝试 System F 类型 并通过以下方式实现了自然数的 Church 编码type 当加载这段代码时 OPTIONS GHC Wall LANGUAGE RankNTypes type CNat fora
  • 检查对以下内容的理解:“变量”与“变量” “价值”、“功能”与“抽象”

    这个问题是后续问题this one https stackoverflow com questions 25327705 is function a sort of variable 25329157 25329157在学习 Haskell
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 如何在不声明新数据的情况下更改类型(String,Int)元组的 Ord 实例?

    我正在尝试对类型列表进行排序 String Int 默认情况下 它按字符串排序 然后按整数排序 如果字符串相等 我希望它是相反的 首先比较整数 然后如果相等则比较字符串 另外 我不想切换到 Int String 我找到了一种通过定义实例来实
  • 如何更换HXT中的节点?

    给定一个示例 xml 文件
  • C++ 概念与 Haskell 类型类有何不同?

    Concepts TS 中的 C 概念最近已合并到 GCC 主干中 概念允许人们通过要求类型满足概念的条件 例如 可比较 来约束通用代码 Haskell 有类型类 我对 Haskell 不太熟悉 概念和类型类如何相关 概念 由概念 TS 定
  • 迭代打印列表中的每个整数

    假设我有一个整数列表l 1 2 我想打印到stdout Doing print l产生 1 2 假设我想打印不带大括号的列表 map print l产生 No instance for Show IO arising from a use
  • 构造微积分中的“Refl”东西?

    在语言中 例如Agda Idris or Haskell对于类型扩展 有一个 键入类似于以下内容的内容 data a b where Refl a a a b意思是a and b是相同的 这样的类型可以定义在结构演算 https en wi
  • 使用带有两个列表而不是一个列表的地图。可以筑巢吗?

    我需要多次运行一个带有两个参数的函数 我有两个包含这些参数的列表 我希望能够使用map或类似的东西用相应的参数调用函数 我要调用的函数具有以下类型 runParseTest String gt String gt IO 列表的创建方式如下
  • Parsec.Expr 具有不同优先级的重复前缀

    Parsec Expr buildExpressionParser 的文档说 相同优先级的前缀和后缀运算符只能出现一次 即 如果 为前缀否定 则不允许使用 2 但是 我想解析这样的字符串 具体来说 考虑以下语法 sentence ident
  • 在 ghci 下执行 `(read "[Red]") :: [Color]` 时会发生什么?

    我正在阅读以下小节现实世界 Haskell 第 6 章 类型类 http book realworldhaskell org read using typeclasses html关于一个实例Read for Color 它实现了reads

随机推荐

  • System.Windows.Forms.SaveFileDialog 不强制执行默认扩展名

    我正在努力使SaveFileDialog and FileOpenDialog对用户输入的文件名强制执行扩展名 我尝试过使用中提出的示例问题 389070 https stackoverflow com questions 389070 h
  • 为网站实现字体?

    我在 CSS 中使用字体 AR CENA 但在浏览网站时它没有加载字体 对我来说它运行良好 但我认为因为我已经安装了字体 所以它从我的电脑加载它 有没有办法实现这种字体并正常出现在网站上供用户使用 u2966 5 z index 500 w
  • 如何从 python 中激活 pyvenv virtualenv? (activate_this.py 被删除了?)

    我正在使用 Python 3 4 并创建了 pyvenv 我希望从 python 进程中激活它 对于 virtualenv 我曾经使用过activate this py 但这似乎在 pyvenv 中消失了 现在有没有一种简单的方法可以有效地
  • 为什么我不能将 Promise.resolve 与 osmosis 实例一起使用?

    我试图理解为什么这些console log语句的行为不同 我希望他们的行为是一样的 使用 Node 7 考虑以下情况 1 Promise resolve 对象 Promise resolve按照我的预期处理对象 Promise resolv
  • 如何使用pandas加速数据加载?

    我正在使用 pandas 和 Jupiter 笔记本 我正在读取 700MB 的 CSV 文件 加载需要 69 秒 出于测试目的 这是可以接受的 因为我只需要加载它一次 并且它在笔记本实例的持续时间内保留在内存中 pd read csv p
  • 找到第三点

    我有2分P1 and P2 我需要找到P3 为了使 所有点都在同一条线上 P3应该在距离d来自P2 远离P1 I started a complicated system apparently hardly to resolve PS 矢量
  • “克隆”索引映射

    我有一个索引 我将重新索引它 目前我想创建一个新索引 它应该包含与原始索引中完全相同的映射 我有这个 var srcMappings client GetMapping new GetMappingRequest Indices sourc
  • 找出所有可能的组合

    我之前问过这个问题 但涉及另一种编程语言 假设我有几个词根 前缀和后缀 roots car insurance auto insurance prefix cheap budget suffix quote quotes Python 中是
  • WPF 打印多页预览

    我对这个主题了解得越多 我理解的就越少 所以如果下面的内容看起来完全不合时宜 请提前道歉 我有一个包含流程文档的用户控件 具有相应视图模型的视图 目的是将其发送到预览窗口 用户可以在其中查看文档并打印它 我从以下示例中提取了一些代码http
  • 如何在用户行走时跟踪 GPS 坐标,来自 iOS 平台的 xamarin.forms

    我刚刚经历过这个link http developer xamarin com recipes ios multitasking track significant location change 当用户使用 xamarin forms 应
  • 在 JPanel 或 JLabel 中调整图像大小并显示,而不会损失质量

    我正在开发一个java程序来使用网络摄像头在注册时捕获员工图像 我可以毫无问题地获取图片 并将其保存在我的 C 驱动器中 但在检索图像时 标签上仅显示图像的一部分 有没有办法在保存之前调整 JPEG 的大小 或者在显示之前 就像在不损失质量
  • Clojure:跨列表的复杂迭代?

    我想要一个数字 20 和一个清单 1 2 3 4 5 6 7 8 9 10 并返回一个集合 其中原始列表中的每个值包含两个值 原始值与该值除 20 时的余数配对 如果原始值以某种方式与余数相关 那就太好了 这样我就可以轻松检索产生特定余数的
  • 从 directshow 获取 iplImage 或 Mat 到 opencv

    由于使用 c 和 opencv 时很难更改相机的分辨率 因此我不得不将我的眼动追踪软件改用 directshow Directshow 对我来说很陌生 很难理解所有内容 但我发现这个很好的例子非常适合捕获和查看网络摄像头 http www
  • JVisualVM 内存采样:不支持远程应用程序

    我正在尝试在 Red Hat Linux 中使用 JVisualVM 监视远程 tomcat 进程 CPU 采样工作正常 但内存采样选项卡被禁用 它说 内存采样 不可用 不支持远程应用程序 进程的命令行参数 Djavac source 1
  • 如何在 aspx 页面中包含 adovbs.inc 文件?

    我正在将 ASP 经典页面转换为 ASP NET 将扩展名为 inc 的文件包含到 aspx 页面的正确方法是什么 我注意到 每次我将包含指向 inc 文件的 include 指令的页面之一更改为 aspx 时 我都会从这些 inc 文件中
  • 如何在 C++ 中跟踪 BFS 深度

    我想对二维数组进行BFS 每个单元格可以表示为pair
  • PHP bcompiler 编码的代码有多安全?

    我很感兴趣是否有人确切知道 PHP 的有效性 安全性 受保护程度b编译器 http www php net manual en intro bcompiler php反对逆向工程 简介页面做出了大胆的声明 在代码保护方面 可以肯定地说 如果
  • 如何在受 AWS Linux AMI 限制的情况下,将 SoX 二进制文件打包为 NodeJS AWS Lambda 函数的 MP3 支持?

    过去三个月我一直在研究这个问题 但完全陷入困境 我正在尝试打包我的 NodeJS AWS Lambda 函数 该函数将使用SoX http sox sourceforge net以及将音频文件转换为 MP3 的依赖项 我可以按照引用的说明让
  • Grails 2.3.7 删除 itext 2.0.8 jar

    我尝试将应用程序从 grails 2 2 4 更新到 2 3 7 但 iText 依赖项存在问题 执行 grails 资源依赖项显示我有 2 个用于 iText 的 jar org grails grails docs 2 3 7 org
  • 如何读取haskell类型签名?

    所以我把这个声明放在我的ghci上 jkl x f y f map y x 我把这个放回去了 jkl Num b gt b gt b gt t gt b gt t 但当我读到它时我很困惑 根据我的理解 jkl 是 num 类型 它采用 b