标签: ghc

在执行runhaskell时,字符'\ DEL'处的词法错误

继承我的代码:

factorial :: Integer -> Integer
factorial n = product [1..n]

main = print(factorial 50)
Run Code Online (Sandbox Code Playgroud)

我没有编译任何错误,但是当我运行编译的代码时

runhaskell test
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

test:1:1: lexical error at character '\DEL'
Run Code Online (Sandbox Code Playgroud)

是什么造成的?我该如何解决这个问题?

更新

我做了一个文件的hexdump:

$ hexdump -x test.hs
Run Code Online (Sandbox Code Playgroud)

得到了

0000000    6166    7463    726f    6169    206c    3a3a    4920    746e
0000010    6765    7265    2d20    203e    6e49    6574    6567    0a72
0000020    6166    7463    726f    6169    206c    206e    203d    7270
0000030    646f    6375    2074    315b    2e2e    5d6e    6d0a    6961
0000040    206e    203d    7270    6e69    2874    6166    7463    726f
0000050    6169 …
Run Code Online (Sandbox Code Playgroud)

haskell ghc runhaskell

1
推荐指数
1
解决办法
1132
查看次数

Haskell相当于包含

基本上我正在尝试扫描字符串以查找包含字符的单词并计算找到具有该字符的单词数.我只是想知道是否有办法检查一个单词是否包含一个字符.

到目前为止的代码如下:

let w = "Hello i'm kind of new to Haskell, but so far it's great!"
length $ filter (== 'n') w
Run Code Online (Sandbox Code Playgroud)

这会在字母n上出现任何问题,如果在一个单词中有2个n,则会将其计为2而不是1,我基本上想要检查单词是否包含字母输入然后获取长度.

谢谢

haskell ghc ghci

1
推荐指数
1
解决办法
680
查看次数

GHC 7.8.3不生成二进制文件

我没有生成二进制文件ghc -O2 --make Test.hs,只有.o和.hi文件.Test.hs包含一个main :: IO ()函数并具有模块名称Test.

链接器不表现吗?我怎样才能解决这个问题?我在OSX上使用GHC 7.8.3,拥有Apple LLVM 5.0(clang-500.2.79)(基于LLVM 3.3svn)目标:x86_64-apple-darwin13.4.0

提前感谢您的任何提示

haskell ghc

1
推荐指数
1
解决办法
54
查看次数

为什么函数enumFromThenTo的行为与GHC.Enum中定义的行为不同?

这里了解到,功能的定义enumFromThenTo

enumFromThenTo      :: a -> a -> a -> [a]
enumFromThenTo x1 x2 y = map toEnum [fromEnum x1, fromEnum x2 .. fromEnum y]
Run Code Online (Sandbox Code Playgroud)

但是,当我用下面的代码测试函数时:

import GHC.Enum
myEnumFromThenTo :: Enum a => a->a->a->[a]
myEnumFromThenTo x1 x2 y = map toEnum [fromEnum x1, fromEnum x2 .. fromEnum y]

xs1 :: [Float]
xs1 = myEnumFromThenTo 1 3 10

xs2 :: [Float]
xs2 = enumFromThenTo 1 3 10

 -- -- | Used in Haskell's translation of @[n,n'..m]@.
-- enumFromThenTo …
Run Code Online (Sandbox Code Playgroud)

haskell ghc

1
推荐指数
1
解决办法
321
查看次数

返回给定特定整数输入的字符串

我正在尝试学习Haskell,在尝试编写一个简单的函数时遇到了一个问题.使用以下代码:

squarenumber x = if x<10
                then x^2
                else return "Input is too large, please input a value less than 10."
Run Code Online (Sandbox Code Playgroud)

问题似乎与else功能的一部分有关.如何修改此函数,以便在输入大于10时返回一个字符串?

haskell functional-programming ghc

1
推荐指数
1
解决办法
62
查看次数

在GHC的RTS统计数据中,CPU时间如何低于挂钟时间?

我有一个程序链接-rtsopts和调用,+RTS -s并在我得到这个时间:

  INIT    time    0.000s  (  0.001s elapsed)
  MUT     time    4.047s  (  9.694s elapsed)
  GC      time    0.578s  (  0.514s elapsed)
  RP      time    0.000s  (  0.000s elapsed)
  PROF    time    0.000s  (  0.004s elapsed)
  EXIT    time    0.000s  (  0.000s elapsed)
  Total   time    4.625s  ( 10.209s elapsed)
Run Code Online (Sandbox Code Playgroud)

这个程序运行了大约10秒钟.它与线程RTS相关联但是它使用了-N1我不明白为什么在挂钟时间和CPU时间之间首先会有区别.

我刚刚在GHC用户指南中找到了这个:

接下来是CPU时间和挂钟时间,按运行时系统当时的操作细分.

那么,CPU时间是否低于挂钟时间有什么意义呢?

注意:我的计算机在执行我的程序期间没有做任何艰苦的工作,当然没那么多..这就是为什么我很困惑并担心我的程序行为不端.

更新:我想我可能找到了罪魁祸首:RTS是否计算IO的CPU时间?如果它没有,那可能是原因,有大量的写作.

haskell ghc

1
推荐指数
1
解决办法
123
查看次数

阴谋安装错误:软件包具有“ ./configure”脚本。这需要一个Unix

我正在尝试安装networkold-time使用cabal-install。当我尝试安装时,它失败并显示:

setup.exe: The package has a './configure' script. This requires a
Unix compatibility toolchain such as MinGW+MSYS or Cygwin.
Run Code Online (Sandbox Code Playgroud)

我确实有MinGW,实际上是与GHC一起分发的MinGW。
我还将bin文件夹添加到了PATH中。

我怎样才能解决这个问题?实际运行配置文件的工具是什么?也许我需要得到它?

使用Cabal库的1.22.0.0
版本的GHC 7.10.1 x64 cabal安装版本1.22.0.0

而且我实际上是在Windows 10专业版预览版内部版本10130上。我在7和8.1上做了很多时间,但从未实现。我无法想象为什么,但是也许它起了作用?

mingw ghc cabal

1
推荐指数
1
解决办法
1646
查看次数

Haskell/GHC内存使用情况

我正在玩Haskell并编写文件.这是一段代码,对于[0..255]中的每个"蓝色",在[0..255]中使用"红色"和"绿色"在PPM中创建图像.它在文件夹中生成所有图像.

这个小程序使我的计算机崩溃购买超过5 gB的内存,我不知道为什么.我要他做的事对我来说似乎很简单,生成的图像占用的总空间是 - 200 mB ......并且不明白为什么内存会爆炸.

这是代码:

import System.Directory
import Data.Colour.SRGB
import Data.List.Split

gridColours         = [[RGB 255 0 0, RGB 0 255 0], [RGB 0 0 255, RGB 0 0 0]]
gridColours2 b      = chunksOf 256 [RGB r g b| r <- [0..255], g <- [0..255]]

dimensions l        = (length . head $ l, length l)
coupleToList (a,b)  = [a,b]
genDataLines list   = unwords . (map showColour) . concat $ list
genDims list        = unwords . (map show) . …
Run Code Online (Sandbox Code Playgroud)

memory crash haskell ghc

1
推荐指数
1
解决办法
413
查看次数

GHC如何在运行时代表`undefined :: Void`?

Void除此之外,该类型没有值undefined.GHC如何undefined :: Void在运行时代表?

null haskell runtime ghc

1
推荐指数
1
解决办法
127
查看次数

如何使用属于类型类的组件作为实例来创建元组

我有以下问题:我定义了一个类型类,并希望将此类的类型的元组声明为实例.但我不知道如何让GHC接受这个声明.这是一个非常简单的例子:

class Test a where
    elm :: a
Run Code Online (Sandbox Code Playgroud)

并且知道元组我想要做类似的事情

instance (Test a, Test b) => Test (a,b) where
    elm = (elm, elm) :: (a,b)
Run Code Online (Sandbox Code Playgroud)

(实际上,我想对与矢量空间相对应的更多花哨类型类做类似的事情.)

怎么做到这一点?在此先感谢您的任何建议!

haskell typeclass ghc

1
推荐指数
1
解决办法
133
查看次数