我尝试安装curl,像这样的haskell包:
cabal install curl
Run Code Online (Sandbox Code Playgroud)
相关错误是:
configure: error: curl libraries not found, so curl package cannot be built
Run Code Online (Sandbox Code Playgroud)
这些"卷曲图书馆"在哪里?我已经在计算机上卷曲了程序(Ubuntu 13.04盒子.)
如果阿格达两个值,或一些其他的依赖性类型的语言,可以证明v?不是不等于v?,你能证明v?等号v??
比如,有类型的功能((v? ? v? ? ?) ? ?) ? v? ? v?吗?
如果无法证明,这似乎可以安全地添加为公理,因为最多可以有一个值v? ? v?.
这个有趣的原因是双重否定((a ? ?) ? ?)形成了一个单子.通常你不能从它中提取值,但是你可以?从某些值中获取它们(如果你在经典逻辑monad中得出一个矛盾,你就会有矛盾).我想知道平等是否是可以提取的东西.
UNPACK支持普通数据类型,如下所示:
data T = T {-# UNPACK #-} ! Int
Run Code Online (Sandbox Code Playgroud)
但有没有办法将UNPACK Pragma与GADT一起使用?
在这个问题中,我们安装了依赖项Hat.现在,当我尝试做
cabal install Hat
Run Code Online (Sandbox Code Playgroud)
我到最后:
[ 6 of 11] Compiling Environment ( trans/Environment.hs, dist/build/hat-trans/hat-trans-tmp/Environment.o )
trans/Environment.hs:497:13:
Not in scope: data constructor `PExplTypeArg'
Failed to install hat-2.8.0.0
World file is already up to date.
cabal: Error: some packages failed to install:
hat-2.8.0.0 failed during the building phase. The exception was:
ExitFailure 1
Run Code Online (Sandbox Code Playgroud) 我有以下内容:
[bla z|n<-[0..], let z = foo n, z < 42]
Run Code Online (Sandbox Code Playgroud)
问题是,我希望列表理解能够在z < 42失败时立即结束,就好像它是一个takeWhile.我知道我可以将它重构成一堆过滤器和地图,但是通过列表理解它会更加优雅.
结合列表理解和takeWhile的最优雅的方法是什么?
假设我有一台这样的发电机
def gen():
a = yield "Hello World"
a_ = a + 1 #Imagine that on my computer "+ 1" is an expensive operation
print "a_ = ", a_
b = yield a_
print "b =", b
print "a_ =", a_
yield b
Run Code Online (Sandbox Code Playgroud)
现在让我说我做
>>> g = gen()
>>> g.next()
>>> g.send(42)
a_ = 43
43
Run Code Online (Sandbox Code Playgroud)
现在我们计算了a_.现在我想像这样克隆我的发电机.
>>> newG = clonify(g)
>>> newG.send(7)
b = 7
a_ = 43
7
Run Code Online (Sandbox Code Playgroud)
但我的原作g仍然有效.
>>> g.send(11)
b = 11 …Run Code Online (Sandbox Code Playgroud) $ cabal --version
cabal-install version 1.22.2.0
using version 1.22.2.0 of the Cabal library
$ cabal install --haddock-hyperlink-source gloss-juicy
Warning: /home/theking/.cabal/config: Unrecognized field hyperlink-source on
line 91
Run Code Online (Sandbox Code Playgroud)
我确实hyperlink-source: True在我的配置中.我添加了标志只是为了多余.当我查找文档时,它都是彩色的和一切,但源代码没有链接.我究竟做错了什么?
/sf/answers/384556441/解释了如何为文件执行git log命令.有没有办法通过git log或其他git命令跟踪文件的一部分是如何更改的?(当然,这肯定会对git的diff引擎造成压力,因为部件的长度和行数会发生变化.但git在这方面相当不错.)
我正在编写一个命令行程序,它采用多个子命令,这些子命令采用标志/参数。
该程序还应该采用一些适用于所有子命令的“全局标志”。举些例子:
myProgram --configfile=~/.customrc UPLOADFILE --binary myfile.x
myProgram --configfile=~/.customrc SEARCH --regex "[a-z]+"
Run Code Online (Sandbox Code Playgroud)
在此示例中,子命令是UPLOADFILEand SEARCH,并且configfile与这两个子命令相关,binary并且regex适用于特定的子命令。
我觉得这个库一定可以做到这一点,但我正在努力想办法把什么放在哪里!我对 Haskell 比较陌生,试图让我的头脑围绕应用程序,这让我的大脑受伤:)
在 module的文档中有一个子命令示例,但我似乎无法弄清楚如何让 global-flags 工作。
如果有人能给我指出一个小的工作示例,或者深入了解我应该如何构造代码来做到这一点,我将非常感激,我发现这些高阶函数有点神奇!
非常感谢您的时间。最好的祝愿,
麦克风
表达正常的数据类型(如列表和nat)非常简单,并且有很多例子.但是,翻译GADT的通用程序是什么?将典型类型(如Vector和依赖产品)从Idris转换为Morte的一些示例将非常具有说明性.