首页 文章
  • 5 votes
     answers
     views

    在GHCi中定义函数签名

    在Haskell中定义函数签名's interpreter GHCi doesn' t工作 . 从this page复制示例: Prelude> square :: Int -> Int <interactive>:60:1: error: • No instance for (Show (Int -> Int)) arising from a use of...
  • 124 votes
     answers
     views

    如果cabal或工作目录设置为项目目录,则Emacs Interactive-Haskell将不响应

    我在 emacs 中使用Interactive-Haskell repl遇到奇怪的行为 . 当我获取文件时, emacs 迷你缓冲区显示一系列交互式提示: Start a new project named 'myproject'? Cabal dir (guessed from myproject.cabal): Build target (empty for default): Set cur...
  • 10 votes
     answers
     views

    Haskell:只能通过:load一次加载一个文件

    假设我有两个模块NecessaryModule1和NecessaryModule2(如Haskell : loading ALL files in current directory path中所述 . 那么我在WinGHCi和GHCi中都注意到,如果我这样做: > :load NecessaryModule1 [1 of 1] Compiling NecessaryModule1 ( Ne...
  • 28 votes
     answers
     views

    我如何获得ghci来查看我从cabal安装的软件包?

    我已经使用cabal安装了这样一个这样的软件包,我可以使用 cabal build 构建一个依赖于它的程序 . 但是当我在ghci中加载相同的程序时,ghci抱怨它"Could not find module `such-and-such'" . 我很惊讶这不“只是工作” . 我怎么告诉ghci在哪里找到我用cabal安装的软件包? 这是我的设置:我在Mac OS X 10.6...
  • 2 votes
     answers
     views

    从边列表构造树:缺少叶节点

    我编写了下面的代码来构造一个给定顶点的树,给出顶点之间的连接列表 . type Connection = (Int,Int) data Tree = Leaf Int | Node Int [Tree] deriving (Eq,Read,Show) makeTree :: Int -> [Connection] -> Tree makeTree x [] = Leaf x make...
  • 6 votes
     answers
     views

    ghci显示执行堆栈

    所以我正在完成Real World Haskell的一些初步章节练习,我想知道GHCi中是否有一个选项可以让它在每次递归调用时显示带参数的函数评估 . 所以例如我写了一个简单版本的'map',当我应用它时,我希望GHCi用实际参数显示每个递归调用(希望表达式结果) . 能让我跟踪幕后发生的事情 . 附:当我写这篇文章时,我感觉它可能受到哈斯克尔执行模型的懒惰的限制,如果我错了,请纠正我 .
  • 10 votes
     answers
     views

    使用GHCi测试FFI代码(带有“外部导入”)

    每个人都很好(你当地时间) . 我在外部函数接口上经历了Real World Haskell's chapter,并做了一些后续阅读here . 我想对某些事情做一些澄清 . 以下是相当清楚的: foreign import ccall unsafe "math.h sin" c_sin :: CDouble -> CDouble 我可以加载这个和在ghci中使用它的代...
  • 4 votes
     answers
     views

    如何查询统一类型为ghci?

    可以查询ghci的统一类型吗? 例如,如果我想知道 (Int -> Bool) 和 (a -> Bool) 之间的统一类型,我该如何查询到ghci? 我想要解决的是从第三版Haskell: The Craft of Functional Programming开始练习13.23 . 如何使用Haskell系统检查两个类型表达式是否统一,如果是这样,它们的统一是什么?提示:您可以在Ha...
  • 1 votes
     answers
     views

    编译与解释:让或不让

    为什么Haskell解释器(GHCI 7.10.3)需要函数定义在let表达式中,但如果函数定义在let表达式中,Haskell编译器(GHC 7.10.3)会抛出解析器错误? 我正在通过“Learn You a Haskell for Great Good!”宝贝的第一个功能是doubleMe:doubleMe x = x x 为什么解释器接受这个定义,如果它在let表达式中,否则在输入'='上...
  • 26 votes
     answers
     views

    GHCi“让” - 它做了什么?

    我很欣赏有人可以指出关于GHCi中“let”的内容的文档,或者说失败,有说服力地解释它:-) . 据我所知,“let”(没有“in”)本身不是Haskell语言的一部分,另一方面,它似乎也不是GHCI命令,因为它没有以冒号为前缀 .
  • 2 votes
     answers
     views

    从c-sources调用动态库在ghci中失败

    我有动态库中的一些C函数(这里只是 zlibVersion ),我想从cabal包中的捆绑C代码调用 . 在这里,我将其直接称为外部导入,并间接通过捆绑的C代码来表明后者崩溃ghci,即使在前者成功之后 . Main.hs: module Main (main) where import Foreign.C.String (CString, peekCString) foreign impor...
  • 142 votes
     answers
     views

    如何在多行中定义ghci中的函数?

    我正在尝试定义任何跨越ghci中多行的简单函数,以下面的示例为例: let abs n | n >= 0 = n | otherwise = -n 到目前为止,我已尝试在第一行后按Enter键: Prelude> let abs n | n >= 0 = n Prelude> | otherwise = -n <interac...
  • 22 votes
     answers
     views

    如何破解GHCi(或Hugs)以便打印未转义的Unicode字符?

    看看问题:通常,在交互式Haskell环境中,非拉丁语Unicode字符(构成结果的一部分)被打印转义,即使语言环境允许这样的字符(而不是直接输出通过 putStrLn , putChar ,看起来精致可读) - 示例显示GHCi和Hugs98: $ ghci GHCi, version 7.0.1: http://www.haskell.org/ghc/ :? for help Prelude...
  • 109 votes
     answers
     views

    GHCi中的多行命令

    我在ghci中输入多行命令时遇到问题 . 以下2行代码适用于文件: addTwo :: Int -> Int -> Int addTwo x y = x + y 但是当我进入ghci时,我收到一个错误: <interactive>:1:1: error: Variable not in scope: addTwo :: Int -> Int -> In...
  • 33 votes
     answers
     views

    我教ghci来编译我的StackOverflow帖子 . 我可以让它更光滑吗?

    Haskell Stack Overflow布局预处理器 module StackOverflow where -- yes, the source of this post compiles as is 如果你想先玩这个(1/2路向下),请跳到 What to do to get it working .如果我稍微停下来,你会跳到 What I would like ,你只想找到我正在寻求...
  • 4 votes
     answers
     views

    我如何查找Haskell命令和关键字?

    我正在自学Haskell,但是我遇到的一个问题是,我遇到的问题是很难找到Haskell关键字,语法和命令的定义 . 我已经阅读了一些Haskell教程并且为我驱散了很多这些教程,并且通常在ghci中使用“:t”命令有助于查看函数的类型 . 但总的来说,我应该知道这些是怎么回事:( . ),(>> =),(= <<),!要么 \ 我知道他们现在做了什么,但将来如果我遇到一些我...
  • 3 votes
     answers
     views

    使用ghci 7.6.3,:} \ n导致“未知命令”错误

    我有时会遇到这个错误,虽然不是所有的时间,但这让我发疯了 . 我不知道这是一个错误,还是有一些我不知道的行为或修复 . 我正在使用:{和:}输入一个多行命令,当我想结束命令时,有时候我会收到错误,如下所示: *MyModule| :} unknown command ':}' use :? for help. 我认为它在97%的情况下都能正常工作,但有3%的时间我会遇到这种情况 . 据我所知,应...

热门问题