如何让“ghci”使用我的“show”功能?

2024-04-08

假设您想使用自己的显示函数(例如,let show = take 1000 . Prelude.show)。你怎么可以允许ghci使用它来代替内置的打印show?


您可以定义自己的交互式打印 https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#ghc-flag--interactive-print%20%E2%9F%A8expr%E2%9F%A9函数例如:

module BetterPrint
betterPrint a = putStrLn (take 1000 $ show a)

然后启动 ghci 作为

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

如何让“ghci”使用我的“show”功能? 的相关文章

  • 管道:多个流消费者

    我编写了一个程序来计算语料库中 NGram 的频率 我已经有一个函数 它消耗一串令牌并生成一个订单的 NGram ngram Monad m gt Int gt Conduit t m t trigrams ngram 3 countFre
  • 如何更换HXT中的节点?

    给定一个示例 xml 文件
  • 迭代打印列表中的每个整数

    假设我有一个整数列表l 1 2 我想打印到stdout Doing print l产生 1 2 假设我想打印不带大括号的列表 map print l产生 No instance for Show IO arising from a use
  • 在另一个字符串中查找子字符串的索引 Haskell

    我要创建一个带有两个参数 字符串 的函数 该函数应查看第一个参数是否是第二个参数的子字符串 如果是这种情况 它将返回每个出现的元组 其中包含子字符串的起始索引和子字符串的结尾索引 例如 f String gt String gt Int I
  • 为什么在 where 子句中使用类型签名如此罕见?

    它是否有助于编译器优化 或者只是添加额外类型签名的多余工作 例如 人们经常看到 foo a gt b foo x bar x where bar x undefined 而不是 foo a gt b foo x bar x where ba
  • 如何在haskell中用另一个字符串替换一个字符串

    我想用不同的字符串替换输入文件中的字符串 我正在寻找一种方法 但似乎我只能逐个字符地更改字符串 例如在我下面的代码中 replace String gt String replace replace x xs if x then y rep
  • 使用带有两个列表而不是一个列表的地图。可以筑巢吗?

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

    Parsec Expr buildExpressionParser 的文档说 相同优先级的前缀和后缀运算符只能出现一次 即 如果 为前缀否定 则不允许使用 2 但是 我想解析这样的字符串 具体来说 考虑以下语法 sentence ident
  • Haskell 点运算符

    我尝试在 Haskell 中开发一个简单的平均函数 这似乎有效 lst 1 3 x fromIntegral sum lst y fromIntegral length lst z x y 但是为什么下面的版本不行呢 lst 1 3 x f
  • 你将如何在 Haskell 中(重新)实现迭代?

    iterate a gt a gt a gt a 你可能知道 iterate是一个接受函数和起始值的函数 然后它将函数应用于起始值 然后将相同的函数应用于最后的结果 依此类推 Prelude gt take 5 iterate 2 2 2
  • 使用 Haskell 绘制图表

    是否可以使用 Haskell 绘制一个简单的图表 你们中的任何人都可以告诉我该怎么做吗 该图应至少包含 3 个点 Haskell 图表 https github com timbod7 haskell chart似乎不错 The wiki
  • 在列表中查找元素及其索引

    我需要让列表的两个元素都满足谓词and这些元素的索引 我可以通过以下方式实现这一点 import Data List findIndices list Int list 3 2 4 1 9 indices findIndices gt 2
  • 为什么我不能声明推断类型?

    我有以下内容 runcount Eq a Num b gt a gt b runcount runcountacc 0 runcountacc Eq a Num b gt b gt a gt b runcountacc n runcount
  • 检索 Haskell 项目中所有导入的列表

    因此 我的最终目标是通过确保项目导入的所有实体都存在于其声称可以使用的版本中 来评估 cabal 文件中依赖项的准确性 一个好的开始是找到单个源文件使用的所有导入实体的列表 可选地包含有关它们来自何处的信息 我愿意暂时忽略类实例的情况 因为
  • 使用默认值压缩而不是删除值?

    我正在 haskell 中寻找一个函数来压缩两个长度可能不同的列表 我能找到的所有 zip 函数都只是删除列表中比其他列表长的所有值 例如 在我的练习中 我有两个示例列表 如果第一个比第二个短 我必须用 0 填充 否则我必须使用 1 我不允
  • 这个实例有什么问题:ArrowApply Automaton?

    我希望 Automaton 有实例 ArrowApply 但 Control Arrow Transformer Automaton 没有 我认为下面的代码会表现良好 data Automaton b c Auto runAuto b gt
  • 在ghci中,如何删除现有的绑定?

    我收到一个 绑定影响现有绑定 错误 类似于以下错误this https stackoverflow com questions 2902716 in haskell what does it mean if a binding shadow
  • Haskell 中的内部爆炸模式是否总是强制使用外部构造函数?

    在 Haskell 中 是否存在对于数据类型 LANGUAGE BangPatterns import Control DeepSeq data D D Int 实例 instance NFData D where rnf D 与具有另一个
  • Cabal:使用源代码构建目录

    我有一个src目录 在这个目录中我有Main hs文件和Test目录 在里面Test我有的目录Test hs模块 我需要用 cabal 来编译它 在我的阴谋集团文件中 我有 Executable main hs or lhs file co
  • Haskell:确定函数数量的函数?

    可以写一个函数吗arity a gt Integer确定任意函数的数量 使得 gt arity map 2 gt arity foldr 3 gt arity id 1 gt arity hello 0 是的 这可以非常非常容易地完成 ar

随机推荐

  • 使用 STM32 USB 设备库将闪存作为大容量存储设备

    我的板上有这个闪存IC 它连接到我的STM32F04 ARM处理器 处理器的USB端口可供用户使用 我希望我的闪存在通过 USB 连接到 PC 时被检测为存储设备 作为第一步 我在程序中将 USB 类定义为 MSC 效果很好 因为当我将主板
  • Laravel 5 - Php artisan 语法错误

    我目前正在使用 Laravel 5 开发一个应用程序 突然工匠停止工作了 我无法对其使用单个命令 它总是返回错误 Symfony Component Debug Exception FatalErrorException syntax er
  • 什么时候值得使用数据库?

    我有一个与数据库有关的问题 以及什么时候值得深入研究 我主要是一名嵌入式工程师 但我正在使用 Qt 编写一个应用程序来与我们的控制器交互 我们正处于一个奇怪的境地 我们有足够的数据 可以实现一个数据库 大约 700 多个项目并且还在不断增长
  • EF4 审核多对多关系的更改

    我正在将审核添加到我的 EF4 模型优先 应用程序中 我可以获得有关发生更改的实体的结构属性的详细信息 我还可以看到多对多关系何时发生变化 我可以看到所涉及类型的名称以及发生的情况 添加或删除 但我真正想要的是关系更改中涉及的实体的 ID
  • 使用 scala 时 lambda 的 AWS 凭证不起作用

    尝试使用通过 DefaultCredentialProvider 提供的凭证时 AWS lambda 函数不起作用 我需要将凭据传递给 S3 才能运行 Code def initializeAwsCredentials AWSCredent
  • iOS Firebase - 如何从不同节点中删除具有相同密钥的子节点

    我有一个名为 以下 的裁判 在该引用下 有 2 个不同的 userId 关注同一用户 如果他们都关注的用户想要删除他们的帐户 我想从关注节点中删除他们 多位置更新似乎不正确地实现此目的 如何做呢 用户 kk8qFOIw 是正在删除其帐户的用
  • 如何追加到 R 中的现有文件而不覆盖它?

    我想写入一个文件 然后在循环中多次追加它 在 Windows 机器上 每次追加后 我想关闭连接 因为我希望该文件存入保管箱帐户 以便我可以在代码运行时在其他计算机上打开它 以检查日志文件的状态 注意 这个条件使得这个问题不同于SO上关于si
  • Dagger 2 构建 IllegalArgumentExceptioncompileDebugJavaWithJavac

    我一直在测试 Dagger 2 一切都正常 直到我做了一些重构 现在 gradle 正在抛出一个IllegalArgumentException 而且我无法弄清楚我所做的更改现在导致了错误 我没有对 gradle 文件进行任何更改 这似乎是
  • r 沿着向量搜索并计算平均值

    我的数据看起来像 require data table DT lt data table x c 19 19 19 21 21 19 19 22 22 22 y c 53 54 55 32 44 45 49 56 57 58 我想沿着 x
  • 自动将 GitHub 分支部署到 AWS Elastic Beanstalk

    说我有一个分支stable在 GitHub 上 我希望在提交时自动部署到我的 AWS EB 实例 我看过CodePipeline 这在我托管实例的区域不可用 我也看过CodeDeploy但这似乎仅适用于 EC2 的单个实例 而不适用于Ela
  • 骆驼http端点动态形成url

    我正在尝试使用的伙计们 from direct a to someUrl processor new Processor Override public void process Exchange arg0 throws Exception
  • chrome 扩展,每 x 分钟执行一次

    我只是做一个简单的 chrome 扩展 我希望我的后台页面 或部分 每 5 分钟执行一次 以获取一些数据并显示桌面通知 如果有 我该如何执行此操作 重要提示 如果您使用非持久后台脚本 Manifest V3service worker或清单
  • 使用“memcpy”复制二维数组在技术上是未定义的行为吗?

    评论中出现了一个有趣的讨论最近的这个问题 https stackoverflow com q 69329303 10871073 现在 虽然有语言C 讨论已经转向什么C 标准指定了使用以下函数访问多维数组的元素时构成未定义行为的内容std
  • 尝试开始扫描 Chromecast 设备时出错

    使用 iOS 尝试调用时出现此错误startScan的方法GCKDeviceScanner实例 有什么建议么 2014 03 27 11 03 17 814 XXX4Cast 3542 60b NSCFTimer gck setTolera
  • Xcode 11 beta 无法在以证书问题结束的设备上安装应用程序

    尝试将应用程序构建到 iOS 设备 任何设备 iPhone X XS 任何操作系统 如 12 13 beta 并获得证书颁发 想要在 ios 13 beta 操作系统支持的设备上构建应用程序并调试问题 我要在模拟器上构建应用程序 证书的自动
  • 使用反射从抽象基类访问构造函数

    我正在研究 Java 的 Reflection 我有一个抽象类Base与构造函数 abstract class Base public Base String foo do some magic 我还有一些进一步的课程延伸Base 它们不包
  • 无法在 Visual Studio Code 中调试 Azure Functions。调试器停止

    I am using http trigger Azure Function When I am running my application by pressing F5 after clicking http localhost 707
  • iOS AVCaptureSession - 如何获取/设置每秒记录的帧数?

    我是 AVCaptureSession 的新手 希望更好地了解如何使用它 因此 我设法将视频流捕获为单独的 CIImage 并将它们转换为 UIImage 现在我希望能够获取每秒捕获的帧数 并且最好能够对其进行设置 知道该怎么做吗 AVCa
  • jq:根据对象值条件递归删除对象的最简单方法

    我想用jq删除 JSON 对象 中的所有字典 我通常使用该术语来指代数组或字典 a 包含一个名为 delete me 的键 并且 b 其中键 delete me 满足某些预定条件 空 非零 真等 基本上 我想要实现的逻辑是 遍历输入 在每个
  • 如何让“ghci”使用我的“show”功能?

    假设您想使用自己的显示函数 例如 let show take 1000 Prelude show 你怎么可以允许ghci使用它来代替内置的打印show 您可以定义自己的交互式打印 https downloads haskell org gh