在 attoparsec 中实现skipWhile1

2023-12-28

阿托秒差距 https://hackage.haskell.org/package/attoparsec提供功能takeWhile1至少消耗一个字符。

然而,没有类似的skipWhile。我该如何实现这个功能skipWhile1?

Note:这个问题故意显示没有研究工作,因为它是问答式回答的。


另一种可能的实现:

import Control.Applicative

skipWhile1 p = skip p *> skipWhile p

这实际上可能比 @Uli 的答案更快,因为takeWhile构建一个结果字符串,而skipWhile没有。懒惰可能会使它们等价(即也许takeWhile如果您不使用它,则实际上不会构建字符串);我目前无法测试来验证这一点。

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

在 attoparsec 中实现skipWhile1 的相关文章

  • 使用 Haskell 绘制图表

    是否可以使用 Haskell 绘制一个简单的图表 你们中的任何人都可以告诉我该怎么做吗 该图应至少包含 3 个点 Haskell 图表 https github com timbod7 haskell chart似乎不错 The wiki
  • Python 比编译的 Haskell 更快?

    我有一个用 Python 和 Haskell 编写的简单脚本 它读取包含 1 000 000 个换行符分隔的整数的文件 将该文件解析为整数列表 对其进行快速排序 然后将其写入已排序的不同文件中 该文件与未排序的文件具有相同的格式 简单的 这
  • 这是 unsafeCoerce 的安全使用吗?

    我遇到的情况是 我目前正在使用极其可怕的函数 unsafeCoerce 幸运的是 这并不是为了任何重要的事情 但我想知道这是否是该函数的安全使用 或者是否有其他方法可以解决其他人知道的这个特定问题 我的代码类似于以下内容 data Toke
  • Haskell数据类型转换问题

    我目前正在学习 Haskell 并且一直在编写一些非常简单的程序来练习 我的程序之一是 import System IO main do putStrLn Give me year y lt getLine let res show cal
  • 这个实例有什么问题:ArrowApply Automaton?

    我希望 Automaton 有实例 ArrowApply 但 Control Arrow Transformer Automaton 没有 我认为下面的代码会表现良好 data Automaton b c Auto runAuto b gt
  • Haskell Cabal:“包间接依赖于同一包的多个版本”

    清除我的所有后cabal installed 包 我运行了以下会话 cabal update Downloading the latest package list from hackage haskell org james bast c
  • 当约束成立时,将没有约束的 GADT 转换为另一个有约束的 GADT

    我们能否将构造函数没有给定约束的 GADT 转换为具有上述约束的 GADT 我想这样做是因为我想要深度嵌入箭头并用 目前 似乎需要的表示做一些有趣的事情Typeable 一个理由 https stackoverflow com a 1223
  • 为什么对本地列表求和比用“GHC -O2”对教会编码列表求和慢?

    为了测试教会编码的列表如何针对用户定义的列表和本机列表执行 我准备了 3 个基准测试 用户定义的列表 data List a Cons a List a Nil deriving Show lenumTil n go n Nil where
  • Haskell 五个独特的 Wordle 单词

    为了好玩 我正在尝试解决 Matt Parker 在他的 Haskell 频道 Standup Maths in Haskell 频道的链接视频中谈到的与 Wordle 相关的问题 基本上 找到 5 个没有任何共同字母的 5 个字母单词 因
  • monadicIO 的工作原理

    我有以下代码 fastShuffle a gt IO a fastShuffle a
  • 浏览前奏的源代码会带来奇怪的情况

    我一直在寻找的定义seq并遇到了这个奇怪的事情 为什么所有这些函数都有相同 相似的定义 seq a gt b gt b seq let x x in x inline a gt a inline let x x in x lazy a gt
  • 在不同上下文中使用的多态变量 haskell

    我有以下一段 Haskell 代码 foo Num a gt a gt a gt Either Integer Double gt Either Integer Double foo f x case x of Left i gt Left
  • Show for String的实例是怎么写的?

    我有一个关于定义类型类实例的基本问题 我使用 Show 类型类作为示例 并且只考虑类中的 show 函数 像 Bool 这样的具体类型的 Show 实例很简单 instance Show Bool where show x function
  • 如何使用范围内的约束族来证明表达式主体内的实例?

    这是后续我之前的问题 https stackoverflow com questions 70075414 how can i derive typeclass instances from constraint families that
  • Haskell:去掉 liftM2 中的括号

    如何去掉标有的括号 而不引入新名称 如果能分成多行就更好了 liftM2 somefunc arg1 get arg2 somefunc arg3 get arg3 您可以使用以下方法删除最后一个 但另一个显然不能在不引入新名称的情况下被删
  • 具有运行时错误的 Foldl 实现

    向你学习 Haskell http learnyouahaskell com higher order functions folds解释foldl1 Foldl1 和 Foldr1 函数的工作方式与 Foldl 和 Foldr 非常相似
  • 一个目录中的多个 Haskell cabal-packages

    在一个目录中包含多个 cabal 软件包的推荐方法是什么 Why 我有一个包含许多可分离模块的旧项目 由于最初它们只形成一个程序 因此将它们放在同一目录中以便于编译非常方便 而且现在仍然如此 Options 只是忍受并将所有内容 包括保存内
  • Haskell 中的参数数量和无点 [重复]

    这个问题在这里已经有答案了 对于多重模式匹配 不同数量的参数是不可能的 即使是无点的 foo True b b 2 foo id 例如 不起作用 但 foo True 2 foo id 做 有时我们只能在函数的一部分使用 point fre
  • 在 win32/cygwin 上编译 haskell 模块网络

    我正在尝试编译 Network HTTP http hackage haskell org package network http hackage haskell org package network 在 win32 cygwin 上
  • 绑定变量时 Haskell 中的无限循环

    下面的 Haskell 代码不会终止 有人可以解释一下为什么吗 谢谢 f let x 10 in let x x x in x 我认为解释器首先绑定 x 10 然后将 x x 计算为 100 并绑定 x 100 环境变为 x 100 那么整

随机推荐

  • 在AddValidation方法中访问模型数据asp.net core自定义验证

    我正在遵循这个例子 https learn microsoft com en us aspnet core mvc models validation https learn microsoft com en us aspnet core
  • 你知道 JavaScript 中哪些因素会导致内存泄漏吗?

    你知道 JavaScript 中哪些因素会导致内存泄漏吗 我感兴趣的浏览器 IE 7 FireFox 3 Safari 3 有一篇很好的文章是关于JavaScript 和内存泄漏 http www javascriptkit com jav
  • 从 iPhone 上的音频流获取 Hz 频率

    在 iOS 上从音频流 音乐 获取 Hz 频率值的最佳方法是什么 Apple 提供的最好 最简单的框架是什么 提前致谢 下面是我在 iOS 中使用 Accelerate Framework 执行 FFT 的一些代码 这使得速度相当快 kee
  • 为什么禁用的 NSButton(或 NSButtonCell)的文本是灰色的?

    当我将按钮 NSButton 设置为禁用时 其文本颜色变为灰色 我该如何修改这个属性 我希望文字保持黑色 如果不是问题的正文 则回答您的标题 这实际上是一种以这种方式表示禁用的屏幕元素的行业标准 并且可能是用户所期望的 做一些不同的事情可能
  • 从 .NET 调用 Java API - 最佳方法

    我需要从现有的 NET 代码库调用全部用 java 编写的 API 这里最好的方法是什么 用 java 编写一个 web 服务 基本上只是将调用转发到 API 或者使用类似的东西JNI4NET http jni4net sourceforg
  • 使用终端从 Mac OS X 钥匙串中删除私钥

    我已使用 安全 终端应用程序和命令将 iOS 开发的开发人员身份 证书 私钥 导入到钥匙串中 security import identity p12 k
  • 泛型树,自界泛型

    我要为我的一个项目添加通用性 我喜欢泛型 因为这使我的代码更加健壮 自我记录 并消除了所有那些丑陋的强制转换 然而 我遇到了一个棘手的情况 并且在尝试表达我的一个结构的 递归 约束时遇到了一些问题 这基本上是某种 通用 树 具有双重链接 到
  • 使用 javascript 检索文本字段值

    我想使用 javascript 检索文本字段值 假设我有这样的代码
  • 将图像保存在Android图库中

    我正在使用此代码来保存图像 URL url null try url new URL image catch MalformedURLException e1 e1 printStackTrace Bitmap bmp null try b
  • Thin + Nginx + Websockets 配置 |导轨

    我有一个带有 websocket rails gem 的 Ruby on Rails 3 2 应用程序 在 nginx 反向代理后面的瘦网络服务器中运行 除了 nginx 反向代理外 一切正常 通过删除 nginx 反向代理 websock
  • 在使用 Xamarin 完成方法之前 UI 不会更新

    我正在开始我的移动开发冒险 并且已经遇到了一个问题 我知道在 WPF 中我会使用BackgroundWorker更新 UI 但它如何使用 Xamarin 与 Android 配合使用 我找到了很多建议 但没有一个对我有用 下面的代码在执行其
  • 导入底图时出现导入错误

    我在导入底图时遇到问题 即使我刚刚通过安装pip install basemap 我已经尝试过 python2 7 和 python3 python3 gt gt gt from mpl toolkits basemap import Ba
  • 将div放在导航栏下方并且不要与内容重叠

    我的问题是我在网页顶部修复了一个导航栏 它包括两侧边距和顶部边距 在这个导航栏下面 我想设置一个可滚动的容器 假设我正在使用 Bootstrap 3 2 0 来布局网站 问题是 由于导航栏的边距 我想要放在下面的内容与导航栏重叠 并且显示在
  • Jmeter,如何增加堆大小

    我读过您需要更改 jmeter bat 文件中的堆大小 我使用的是 Windows 以增加内存 以便能够测试大约 500 个线程或更多 这是默认值 if not defined HEAP rem See the unix startup f
  • 如何在android中交换具有不同布局的片段?

    我正在开发一个使用片段的 Android 应用程序 它更像是主 详细信息形式 我希望主要活动由左侧的列表片段组成 根据左侧选择的项目 我想在右侧显示具有不同布局的片段 注意 右侧的每个片段需要不同的布局 视图 我遇到的所有示例都仅使用右侧的
  • org.openqa.selenium.WebDriverException:未知错误:Chrome 无法启动:崩溃。 (未知错误:DevToolsActivePort 文件不存在)

    Javascript selenium 框架 不在 Chrome 上运行 我已经尝试了所有可能的方法 取消选中以管理员身份运行 Code public void setUp throws InterruptedException IOExc
  • Microsoft VisualStudio TestTools UITest dll

    我需要找到 Microsoft VisualStudio TestTools UITest Common dll Microsoft VisualStudio TestTools UITest Extension dll Microsoft
  • iOS 8.3 更新后 NSMutableURLRequest 正文格式错误

    在今天的 iOS 8 3 更新之前 我的代码工作正常 但更新后服务器开始拒绝请求 因为它找不到 JSON 数据 我发现 iOS 发送了错误的 application x www form urlencoded 文本 未正确编码 因为它看起来
  • Symfony 2中如何获取请求参数?

    我对 symfony 很陌生 在其他语言中 例如 java 和其他语言 我可以使用request getParameter parmeter name 来获取该值 我们可以用 symfony2 做一些类似的事情吗 我看过一些例子 但没有一个
  • 在 attoparsec 中实现skipWhile1

    阿托秒差距 https hackage haskell org package attoparsec提供功能takeWhile1至少消耗一个字符 然而 没有类似的skipWhile 我该如何实现这个功能skipWhile1 Note 这个问