追踪 Haskell 中的错误

2024-06-26

我如何获得有关 Haskell 错误发生位置的更多信息?例如,昨天我正在开发一个 Haskell 程序,该程序解析输入文件、转换数据,然后打印出报告信息。

有一次,我跑了“main”然后回来了

*** Prelude.read: parse error

没有其他信息。幸运的是,我知道我只在一个地方调用 read 并且能够修复它,但为了将来:

  • 是否有可能获得此类错误的回溯或行号?
  • 是否可以获得触发错误的实际数据,即导致解析错误的字符串?

Thanks!

Edit使用 GHC。


您可以通过导入来获取导致解析错误的字符串Debug.Trace http://hackage.haskell.org/package/base-4.6.0.1/docs/Debug-Trace.html和改变 你的来电



import Debug.Trace (trace)

--change
myRead s = read s
--to 
myRead s = trace s (read s)
--or 
myRead s = trace (take 100 s) (read s)
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

追踪 Haskell 中的错误 的相关文章

  • 类型级编程有哪些示例? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不明白 类型级编程 是什么意思 也无法使用Google找到合适的解释 有人可以提供一个演示类型级编程的示例吗 范式的解释和 或定义将
  • Haskell 中的所有图形和 Web 库是如何实现的?

    我才开始学习Haskell 我读到它是一种纯函数式语言 其中的所有内容都是不可变的 因此 输入输出 写入和读取数据库之类的事情会导致状态的可变性 我知道 Haskell 中有一种叫做 monad 的东西 它允许在 Haskell 中使用命令
  • 为什么 Haskell (Hugs) 中的 Show 实例会导致堆栈溢出错误?

    下面是 Haskell 中的多态数据类型 由 Hugs 解释 我正在尝试创建一个 Show for Equality 的实例 实例声明表示 如果类型 a 在 Show 中 则相等 a 在 Show 中 它应该以 a b 的形式打印构造函数
  • haskell复制目录的方法是什么

    我发现自己用 Haskell 编写越来越多的脚本 但在某些情况下 我真的不确定如何 正确 地做到这一点 例如递归地复制目录 a la unixcp r 由于我主要使用 Linux 和 Mac OS 所以我通常会作弊 import Syste
  • ~/.cabal/config 中的“共享”是什么意思?

    我想 共享 会让cabal install更快 对吧 共享的默认值为 False 我们应该使用 True 还是 False 来共享 thanks 这意味着 还构建动态链接 又名共享 版本的库 这些版本与cabal install cabal
  • 如何在 Haskell 中创建异构列表? (最初是Java)

    如何将以下 Java 实现转换为 Haskell 这里的主要目的是拥有一个包含作为特定接口的子类型的各种元素的列表 我尝试制作下面的 Haskell 版本 但未能达到我的目的 这里的重点是xs有类型 Bar 而不是Foo a gt a 这是
  • Haskell Stack 包安装错误

    user stack install dictionaries Error While constructing the build plan the following exceptions were encountered In the
  • 为连续可测量的现象创建行为

    我想创建一个Behavior t a从一个IO a 其预期语义是每次行为发生时都会运行 IO 操作sampled language FlexibleContexts import Reflex Dom import Control Mona
  • 使用 GHC.Generics 恢复类型定义

    昨天我尝试回答这个问题是关于数据类型的表示 https stackoverflow com questions 22715572 a serializable representation of a data type for client
  • 当 Haskell 持久库中需要“Key”时,如何通过“Int”获取实体?

    我将持久性 orm 与 scotty Web 框架一起使用 我想通过 id 从 db 获取值 这些是来自 GET 请求的 有 get 函数接受 Key Entity 变量并返回 Maybe Entity 我使用以下代码从数据库获取值 k l
  • 自动函子实例

    给定以下代数类型 ghci gt data Foo a Foo a 然后我实例化其中之一 ghci gt let f Foo foo 最后 我想打电话给fmap将函数应用为 a gt b gt Foo a gt Foo b ghci gt
  • 数据记录的类约束

    我有一个data type data BuildException a KillBuild JobID a Stage FailBuild JobID a Stage CancelBuild JobID a Stage StopBuild
  • 为什么阴谋集团重新安装“总是危险的”?

    使用 Cabal 重新安装软件包时 通常会看到以下警告 警告 请注意 重新安装总是很危险的 无论如何继续 此消息背后的一些原因是什么 目前 重新安装软件包意味着破坏性地覆盖已安装的软件包 如果旧包对系统有任何反向依赖性 它们将不再工作 为了
  • Haskell 程序查找列表中元素的位置

    我需要编写一个函数来查找列表中一个特定元素的位置 我是这样写的 findPos list elt list 1 head list elt 0 otherwise 1 findPos tail list elt 但是如果列表中元素重复怎么办
  • Haskell 中的纯函数是否有可能改变变量的本地副本?

    Haskell 中的纯函数是否有可能改变变量的本地副本 就像 clojure 中提到的那样函数式编程是一个骗局 http swannodette github io 2013 06 10 porting notchs minecraft d
  • 是否可以使用“-=”来处理文字?

    今天我发现 它声称 factorial n def do assert n lt 0 Negative factorial ret lt var 1 i lt var n while i do ret i i 1 return ret 可能
  • 使用 Haskell 识别段落中的单词数

    我是 Haskell 和函数式编程的新手 我有一个 txt包含一些段落的文件 我想使用 Haskell 计算每个段落中的单词数 我已经写了输入 输出代码 paragraph words String gt int no of words I
  • 如何向http-client-tls提供客户端证书?

    我在用http 客户端 tls http hackage haskell org package http client tls 0 2 1 2连接到需要客户端证书的启用 TLS 的服务器 我怀疑我需要调整TLS设置 http hackag
  • 列出树中叶子的路径

    我正在尝试编写一个函数来查找树中叶子的所有路径 例如 给定一棵如下所示的树 1 2 5 3 4 6 输出列表将是 1 2 3 1 2 4 1 5 6 该函数的类型签名是 branches Tree a gt a 请注意 这使用了中定义的 T
  • 如何定义类别实例的相等性?

    为了证明例如类别法则对于某种数据类型的某些操作 如何决定如何定义相等性 考虑使用以下类型来表示布尔表达式 data Exp ETrue EFalse EAnd Exp Exp deriving Eq 试图证明这一点是否可行Exp形成一个具有

随机推荐

  • 根据id统计div元素

    我有一个类似的页面 div div div div div div div div div div div div 我想知道 id 与表达式 box content X text 其中 X 是数字 匹配的 div 的数量 我可以使用纯 ja
  • 良好的 WPF 或 silverlight windows 小工具示例

    有人有 WPF 或 silverlight windows 小工具的好例子吗 诺兰多02 您好 我在网上看到了一些侧边栏小工具演示和教程 我将在这里列出它们以供您审查 希望其中一些能引起您的注意 并为您的努力提供帮助 WPF http ww
  • 将颜色名称转换为十六进制代码的 Javascript 函数

    是否有一个内置函数可以将颜色按名称转换为其十六进制表示形式 就像我想传递 白色 并接收 FFFFFF 我真的想避免自己编写一百个 if 代码 不 但使用在这里列出 https www w3schools com colors colors
  • 如何在 Windows 路径中使用卷标?

    我想使用批处理文件从可移动驱动器复制文件 无论它获得的驱动器号是什么 到目前为止 还没有去 似乎没有任何现成的命令或第三方命令行工具可以处理基于卷标签的路径 我尝试了 FreeFileSync 但它可以大批量工作 并且我在这里需要精确的文件
  • 为什么 kafka 生产者在初始化时采用代理端点而不是 zk

    如果我有多个经纪人 我的制作人应该使用哪个经纪人 我需要手动切换broker来平衡负载吗 另外 为什么消费者只需要 Zookeeper 端点而不是 Broker 端点 教程中的快速示例 gt bin kafka console produc
  • 在不同的队列系列上重用相同的主机可见缓冲区

    考虑主机可见缓冲区 主要与流缓冲区相关 即由VK MEMORY PROPERTY DEVICE LOCAL BIT VK MEMORY PROPERTY HOST VISIBLE BIT内存 让我们想象一下以下使用模式 将新数据写入主机上的
  • Android 中 Facebook 和 Google+ 登录的 onActivityResult 代码

    Android 中登录的 Facebook API 代码很简单 方法如下活动结果 is protected void onActivityResult int requestCode int resultCode Intent data s
  • Redis 与 SQL Server 性能对比

    应用程序性能是使用缓存而不是关系数据库的主要原因之一 因为它以键值对的形式将数据存储在内存中 所以我们可以将经常访问的不经常更改的数据存储在缓存中 从缓存中读取比从数据库中读取要快得多 Redis 是分布式缓存市场上最好的解决方案之一 我正
  • 如何在flutter中使用API​​调用嵌套的json数据?

    我的 JSON 看起来像这样 Info c type id 1 cleaning type A Cleaning c type id 2 cleaning type B Cleaning c type id 3 cleaning type
  • 如何融化数据框以获取范围内的所有日期?

    我有一个这样的数据集 import pandas as pd pd DataFrame col1 1 2 start date 1 3 2019 1 10 2019 end date 1 5 2019 1 12 2019 我想为开始日期和结
  • ASP.NET MVC 2 - 请求编码问题

    Hello 有一个控制器和一个通过 GET 接收一个参数的操作 大致如下 www site com controller action query Problem 示例 1 www site com controller action qu
  • C++ 中输出流的右对齐

    我正在使用 C 工作 我得到一个 10 位数字的字符串 字符数组 其中可能有也可能没有 3 个破折号 使其最多 13 个字符 是否有一种内置的流方式可以正确地证明它 我将如何打印到右对齐的流 是否有内置函数 方法可以执行此操作 或者我是否需
  • 关于相同的应用程序,但不同的应用程序商店有不同的二进制文件

    我有一个新的应用程序要在不久的将来推出 该应用程序将针对不同地区的应用程序商店提供不同的版本 包括 UI 语言和部分应用程序内容 我的问题是我是否可以创建不同的应用程序 不同的捆绑包 ID 和不同的应用程序的 iTunes 应用程序名称 但
  • 如何理解javascript React中的这段代码

    我在网上找到了这个函数在js中的实现 这个函数递归地过滤一个对象数组 每个对象可能有属性 children 它是对象数组 并且对象也可能有孩子等等 该函数工作正常 但我有点不明白 这是我的功能 getFilteredArray array
  • 如何在 NPM 中通过 package.json 使用 gitlab 存储库

    我正在开展一个内部项目 想在小组内分享一个工具 但如果我使用 npm 工具 它要么请求模块已在 npm 网站或公共 git 存储库上注册 我正在使用 gitlab 并且有一个私人令牌 git https gitlab ci token
  • 在eclipse java项目中加载dll文件

    我正在尝试添加文件sqljdbc auth dll到项目库 我将包含 dll 的文件夹添加为外部类文件夹 在这里 我基本上尝试使用 Microsoft 提供的 SQL 驱动程序连接到我的 SQL SERVER 2008 数据库 我的代码是
  • Postgres 9.3 JSON 输出多维对象

    鉴于此查询 SELECT id as id attributes gt gt name as file name status from workflow events where schema customer and type FILE
  • 如何更改 Android 模拟器中的屏幕方向?

    我们如何将模拟器屏幕方向更改为横向或纵向 Ctrl F12 is the keyboard shortcut
  • 带有单选框和复选框的 WinForms TreeView

    我有一个情况 我希望 TreeView 能够在多个根节点上显示单选按钮 并在其子节点上显示复选框 任何根节点下都只有一层子节点 无线电也应该表现得像一个组 即选择一个根并取消选择其他无线电 我一直试图用图像来伪造它 但它看起来不现实 我最初
  • 追踪 Haskell 中的错误

    我如何获得有关 Haskell 错误发生位置的更多信息 例如 昨天我正在开发一个 Haskell 程序 该程序解析输入文件 转换数据 然后打印出报告信息 有一次 我跑了 main 然后回来了 Prelude read parse error