• VScode中的Haskell错误:“扩展接口生成期间发生错误”

    对Haskell和VScode来说是相当新的东西。代码的第一行给出了错误(当我突出显示它时) “扩展接口生成过程中的错误C:\ Users \ Curtis \ AppData \ Local \ ghcide \ main-da39 ... \ ext5545:renameFile:renamePath:MoveFileEx“ \\?\ C:\ Users \ Curtis \ AppData \ Local \ ghcide \ main-da39 ... \ ext5545“仅” \\?\ C:\ U...
  • 如何使用GHCi对Haskell中的源代码进行更改?

    我是Haskell的新手,正在使用GHCi编辑和运行Haskell文件。由于某些原因,我无法编辑文件的源代码。我得到的行为非常奇怪。 Below is a screenshot of what is happening. I am loading the file lec3.hs and am attempting to edit this file to add the following function: myfun = \w -> not w. For some reason, this funct...
  • Haskell-如何将两种类型转换为我的自定义类型?

    我和GHC还不是朋友。我希望它了解我的返回类型是我的自定义类型。 具体来说,我要确保编译器 实际上,我正在返回OAuth2Response。有没有惯用的方式来实现这一目标? 例: data OAuth2Response = Either OAuth2Error OAuth2AccessToken getAuthorized :: (..) -> (..) -> OAuth2Response getAuthorized = do a <- nonceValidation (Returns Left OA...
  • 在Haskell中将字符串拆分为类型

    我需要创建一个解析函数。我是Haskell的新手,我很有趣可以仅使用GHC基本功能在Haskell中实现我的想法。 所以问题是:我的消息在字符串中的坐标和值像(x:01,01,... y:01,02 ,: v:X,Y,Z),我需要解析它的类型,例如([Char],[Int],[Int])。 在C之类的语言中,我会创建循环并从头开始,然后进行检查,然后将其放入那里的数组中,但是我担心这在Haskell中不起作用。有人可以提示解决此问题的可行方法吗?
  • 为什么我的Haskell函数返回类型而不是值?

    我很难理解Haskell中的类型创建。我试图理解为什么下面的Haskell函数返回类型而不是值: data Exp = Enum Int data Val = Vnum Int eval :: Exp -> Val eval (Enum x) = Vnum x x :: Exp x = Enum 2 当我运行'eval x'时,解释器将返回'eval x :: Val',而不是像我期望的那样返回2。 Enum和Vnum只是标签,因此从本质上讲,eval函数将“表达式”作为参数(实际上只是一个整数),...
  • Haskell:检查文本中是否出现字符串

    您将如何检查字符串是否出现在更复杂的String = text中? 即使我认为此练习很简单,我的方法也无法奏效。 我尝试使用一些希望编译器使用的表达式来强调我的目标: isPartOf "xy" "this is a text with xy" -> True isPartOf "aba" "this occurs here" -> False 我的代码尝试: isPartOf :: String -> String -> Bool isPartOf _ [] = False isPartOf [...
  • Haskell:无咖喱,咖喱,成分

    输入以下内容时,我对理解编译器的功能存在疑问: (curry . uncurry) (+) 1 2 在我理解之后,编译器首先使用uncurry,这意味着将发生错误,因为uncurry函数需要这样的输入: (curry . uncurry) (+) (1,2) 但显然第一个是对的。我不明白为什么。 编译器对此进行评估时,究竟将采取哪些步骤? 另一个主题包括问题: 为什么 (uncurry . curry) (+) (1,2) 不起作用?
  • 为任何类型的数字定义类型类的实例

    大家。我是Haskell的新手。我想定义一个适用于任何数字类型的typeclass实例。举个例子,让我写一个简单的类型类: class YesNo a where yesno :: a -> Bool Basically, the yesno function mimics JavaScript's boolean checking behaviour. If you give it a "truly" value, it will return True, otherwise it will ...
  • 串联,Haskell

    嗨,我目前正在尝试将Haskell中的两个列表连接起来,如下所示: l1 = [[aa,adb,adc],[aa,dd,gg]] l2 = [[cc,abd,hh],[hh,cc,vvvv]] 结果: l3 = [[aa,adb,adc],[aa,dd,gg],[cc,abd,hh],[hh,cc,vvvv]] 这是我的Haskell代码: “字符类型” a上的按长度排序的列表(又名“ a上的字符串”) 不变式:在LOL中,n xs,n ==长度xs 请注意,自动派生的Ord实例正确订购了LOL data ...
  • Haskell-适用于任一方

    我正在尝试了解Applicative和任一左派。来源如下: instance Applicative (Either e) where pure = Right Left e <*> _ = Left e Right f <*> r = fmap f r I'm unable to understand the Left e <*> _ = Left e part. It makes no sense, because this: Left (+3) <*> ...
  • Haskell:评估:: Ast-> Int

    我有一个作业,有一个我不明白的问题。他们要的是什么?不知道这是否是一个适合自己的问题,但是我完全陷入僵局,所以如果有人帮助,这将意味着很多! 题: 让我们考虑用户定义的数据类型 数据Ast = V Int | P Ast Ast |阿斯特·阿斯特 我们假设每个叶子V x代表数字x,而P和M代表 他们的论点的加法和乘法。编程功能 eval :: Ast -> Int 它将这样的Ast评估为算术表达式,例如 eval (V 5) = 5 eval (P (V 55) (M (V 2) (V 3))) = 55...
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。