实例化某些对象(Haskell)
我正在处理这个包,特别想使用这个方法,我的问题是如何实例化运行它所需的对象。我对类型实例化某些对象(Haskell),haskell,Haskell,我正在处理这个包,特别想使用这个方法,我的问题是如何实例化运行它所需的对象。我对类型RandomGen=>g->Double->SymReal->Int->U2 DOmega感到困惑,因为上的示例似乎只需要一个实数(例如pi/128)作为输入。事实上,当我导入所有必要的包并尝试 λ> g <- getStdGen λ> gridsynth g pi/128 (Const 33) 25 λ>g gridsynth g pi/128(常数33)25 我得到了一个简单的矩阵p
RandomGen=>g->Double->SymReal->Int->U2 DOmega
感到困惑,因为上的示例似乎只需要一个实数(例如pi/128
)作为输入。事实上,当我导入所有必要的包并尝试
λ> g <- getStdGen
λ> gridsynth g pi/128 (Const 33) 25
λ>g gridsynth g pi/128(常数33)25
我得到了一个简单的矩阵<选择code>pi/128是因为它是样本值,选择
Const 33
是因为我希望ε大约为10^10≈ 选择了2^33和25
,因为文档表明了这一点,但无论输入如何,输出仍然微不足道。非常感谢您提供的任何帮助,以澄清这一点。我不确定,但您似乎在某种程度上依赖于两个不同的不兼容版本的random
软件包。此错误表示,版本1.1中的RandomGen
typeclass对于另一个版本中的StdGen
类型没有实例,您使用的是import System.Random
。你是怎么运作的?您可能应该使用Stack或Cabal项目为您获取和构建正确的包。我目前正在尝试使用GHCi命令行获取包的挂起部分。我的较长文件(不是特别长)我只是通过GHCi以.hs文件的形式运行(不使用Stack或Cabal,我安装了Cabal,但除了获取新软件包,不知道如何使用它,例如Cabal安装…
)。了解my.ghci文件中的内容是否有用?我有:set-package random
。这会引起问题吗?我不知道还有什么方法可以让两个不同的random
运行…您可以使用ghc pkg
查看和修改为给定包名选择的包版本,并查看依赖关系树信息。我建议使用ghc pkg descripe newsynth
找出它所依赖的random
的哪个版本,然后ghc pkg list random
查看哪个版本是公开的(普通字体是公开的,彩色字体是隐藏的)。如果它们不匹配,可以使用ghc-pkg-hide
和ghc-pkg-expose
来修复,然后重试。(不要将此作为答案,因为它没有解决您问题的其他部分。)@DanielWagner感谢您的建议。我应该能够在任何地方运行这些命令吗ghc pkg descripe newsynth
返回ghc pkg:找不到包newsynth
,并且ghc pkg list random
返回~/.ghcup/ghc/8.8.3/lib/ghc-8.8.3/package.conf.d(无包)
。(然后我导航到~/.ghcup/ghc
,只找到了一个版本的ghc,所以似乎没有多个安装)。那个信息让我有点困惑。如何启动ghci?