haskell有关的问题


在Haskell中递归地从字符串中删除输入的char

我正在编写一个递归函数,它将一个char作为输入,并从输出的字符串中删除char。
Eg: INPUT: abbacysa | OUTPUT: bbcys
我是哈斯克尔的初学者,所以只是想把我的头包起来


在Haskell中使用scanl函数

我正在编写一个函数,它采用int列表并使用scanl返回sum。
下面的代码工作。
输入: [1,2,3]
Sum_calc列表 = scanl ( ) 0 [1..10]
输出: [0,1,3,6,10,15,21,28,36,45,55]
我要艾德.


实现词典的应用实例 (Map、关联数组)

为关联数组实现一个functor实例 (本质上是一个映射操作) 似乎很简单 (例如,参见Functor定义 [1])。然而,没有定义应用实例。是.


如何将值打印/编码为Dhall?

{-# LANGUAGE DeriveGeneric #-}
{-# 语言OverloadedStrings #-}
进口Dhall
Data Example = Example { foo :: Natural,bar :: Vector Double}
派生 (通用,显示)
实例解释


如何使用cabal在ghcid中运行测试套件?

我在 https://www.parsonsmatt.org/2018/05/19/ghcid_for_the_win.html 中的堆栈中找到了这样做的参考,并在这里提到它 :( 1)
我所拥有的.


差异列表的显式纯功能数据结构

在哈斯克尔,差异列表,在
[A] 具有有效串联操作的列表的表示
似乎在函数组成方面实现。
函数和 (dy.


如何写这段代码更短,以便它可以用于更广泛的目的?

我正在编写一个简单的搜索引擎,它应该给出一个数据单元的单独参数。你有没有更好 (更短) 的方法来写这个?
类型资格 = [质量属性]
类型


使用haskell删除stdin中的项目

我在我的haskell程序中有一些代码,就像这样:
Evaluate:: String -> IO ()
Evaluate =.
Repl = forever $ do
PutStr " >> hFlush stdout
GetLine>>= evaluate
问题.


为什么我在Haskell中将参数传递给函数时不成功

我有以下非常简单的程序,它需要一个整数列表和一个整数。然后,它使用map检查整个列表,查看列表中有多少成员与传递的i相同.


搜索重写规则

有没有办法浏览或搜索重写规则?当我使用像-ddump-rule-swings或-ddump-rule-rewrites这样的标志时,我只得到触发的规则的名称和它引起的重写,但是.


GHC重写规则,专用于类型类的函数

使用GHC规则pragma,可以专门针对特定类型的多态函数。来自Haskell报告的示例:
GenericLookup:: Ord a => 表a b -> a -> b
IntL.


Haskell composition (.) vs F # 的pipe forward operator (|>)

在F # 中,使用pipe-forward运算符 |> 是很常见的。然而,在哈斯克尔我只见过函数组合,(。),被使用。我知道他们是相关的,但是.


哈斯克尔的功能组成

为什么我做不到
Fst。Fst ((“鲍勃”,12),10)
在哈斯克尔?
: T fst。Fst
前奏> ((c,b),b1) -> c
这不会让 (“鲍勃”,12,10) 是这个职位的好候选人fst.Fst,因为它是
(([Char],Integ.


程序不断地去边缘条件,无论输入-Haskell

我一直在研究一个问题,我有一个由歌曲名、艺人名和销售额组成的元组列表。我被要求使用歌曲名和艺人来检索销售额.


什么是弱头范式?

弱头范式 (WHNF) 是什么意思?Head Normal form (HNF) 和Normal Form (NF) 是什么意思?
真实世界哈斯克尔说:
熟悉的seq函数将表达式计算为我们.


国外primop的cmm调用格式 (integer-gmp示例)

我一直在检查整数-gmp源代码,以了解如何在GHC primops页面上记录的cmm方面实现外国Primops。我知道实现它们的技术.


使用RankNTypes和typefamily的非法多态类型或限定类型

我一直在慢慢地移植llvm包以使用数据种类,类型族和type-nats,并在尝试删除用于对值进行分类的两个newtypes时遇到了一个小问题 (


Haskell - let绑定选择错误的实例

下面的测试让我大吃一惊
{-# 语言FlexibleInstances #-}
{-# 语言不可决定的实例 #-}
模块测试在哪里
类类型t其中
EncodeToField:: t -> String
Rec r类


具有相同函数名称的多个函数定义

在Haskell中如何能够解决 (不使用函数而不是类型):
重写 (和True False) = False
重写 (And True False) True) = False
……
我试过fol.


为什么您不能将Ints与Nums或Ords进行比较?

我有一个功能:
Comp: :( Ord a) => a -> Bool
Comp a b = 如果a > b,则为True,否则为False
这很有效。但如果我这样做:
Comp: :( Num a) => Int -> a -> Bool
Comp a b = if.


Haskell-函数签名

我很难理解实现某些功能的问题。我有一个通用的数据类型定义如下:
导入限定数据.Map.严格为Map
Data Stuff x = Stuff (.


数据族实例: newtype、data

对于Haskell 98 decl,整个数据类型必须是newtype或data。但是数据族可以混合使用newtype实例和数据实例。这是否意味着作为newtype是.


依赖类型: 依赖对类型如何类似于不相交的并集?

我一直在研究依赖类型,我理解以下内容:
为什么通用量化表示为依赖函数类型。∀ (X: A).B(x) 表示 “对于所有类型A的x,都有a.


对所有类型族实例的类型约束

我想如果没有模板Haskell,我想要的是不可能的,但我还是会问。
我有一个类型的接口,如Data.Set和Data.IntSet:
类型系列Elem s :: *
类SetLike s where
Inse.


使用数字前奏中的加性类会导致重叠实例

当试图用数字前奏定义一些数学对象时,我遇到了一个问题。加性的typeclass定义了一个实例
实例加性.C v => 加性.C [v]
哪个I r.


作为应用函数的函数 (Haskell / LYAH)

Learn You a Haskell的第 11 章介绍了以下定义:
实例适用性 ((->) r) 其中
纯x = (\ _ -> x)
F <*> g = \ x -> f x (g x)
在这里,作者eng.


使用状态monad在 2d迷宫中查找单词

如果我们有一个带有字符 (可能会重复) 和一些随机单词的 4x4 板,我们需要找到这个单词是否可以在板上找到。现在这个问题很容易解决,不用任何花哨的东西


Haskell无法创建TypeClass的实例

我是Haskell的新手,并试图创建一个带有实例的类。
我有以下代码,我想说:
1) 分支可以在其第一位置保持任何类型,
2) 做一个L类.


类型级列表的行多态相等性

TL;DR: 我想为行多态性实现统一,使用一个类型族RIso (a :: [*]) (b :: [*]) :: Bool,但是卡住了。
背景
我正在为一种语言编写编译器,h.


封闭类型族内部的模式匹配

我不适合玩GHC 7.8 的新封闭式家庭功能
我想找到一个很好的方法来分支类型级别的构造。
我有类似
Data (:) :: Sym.


为什么这个函数组合是非法的

这工作:
C <- fmap行 (readFile "d:\ \ tmp \ \ h.txt")
设h = map (读:: String -> Int) c
而 “叠加” 这两行那些没有编译
Fmap (读:: String -> Int.


我的zip改版有什么问题吗?

我正在尝试编写一个类似于zip的函数,但不会丢弃额外的元素。我觉得我在某个地方犯了一个非常愚蠢的错误。
示例输入:
ZipMaybe [1,2,3] [1,2]
期望ou.


Haskell-从类型构造函数的enumation自动派生整数

我想知道是否有一种方法可以让GHC自动从表单的数据类型中导出积分的实例:
数据 = A | B | C | D
使fromIntegral A = 0,fromIntegral B = 1.


这是什么?在哈斯克尔吗?

可能重复:
在Haskell中,fullstop或period或dot (.) 意味着什么?
这是一个如此普遍的问题,但我实际上不知道它为什么会在那里。如果你有like: sort.function wha.


在变压器堆栈内调用monadic函数

我第一次尝试Monad变形金刚。为我的类所谓的 “设施位置” 问题编写了一个简单的遗传算法。算法并不那么重要。
我一般都跟着for.


IO (可能是图片) -> 图片

我正在用光泽创造一个游戏。
我有这个功能:
Block:: IO (可能是图片)
Block = loadJuicyPNG "block.png"
我如何把这个IO (也许是图片) 变成图片?


无法找出模块数据。颜色

我无法导入模块数据。颜色和错误如下:
找不到模块 “data.Color”
使用-v查看搜索的文件列表。
失败,已加载模块: 无。
我错过了吗.


% 在哈斯克尔做什么?

我习惯用 % 来表示其他语言中的 “模”。在Haskell中,我们必须使用mod x y或x 'mod' y。那么,这个符号在哈斯克尔里是干什么用的?


具有类约束类型的值在运行时是否会成为函数?

想想著名的
Fibs = 0 : 1 : zipWith ( ) fibs (尾fibs)
假设,为了避免单态限制,这被注释为:
Fibs:: Num a => [a]
这似乎暗示在