进入set -e交互式bash shell后,如果任何命令退出非零,bash将立即退出.如何撤消此效果?
我有几个.o文件,并希望将它们捆绑在.dylib中,我怎么能用Mac OS X使用gcc?非常感谢你.
我有一个类型的功能in_channel -> out_channel -> unit,将输出一些东西out_channel.现在我想把它的输出作为一个字符串.创建临时文件进行写入和读取似乎很难看,所以我该怎么做?out_channel除了Pervasives.open_out家庭之外还有其他方法吗?
实际上,这个函数实现了一个repl.我真正需要的是以编程方式测试它,所以我想首先将它包装到类型的函数中string -> string.为了创建in_channel,似乎我可以使用Scanf.Scanning.from_string,但我不知道如何创建out_channel参数.
我有一台带有GeForce 9400显卡的MacBook Pro.维基百科说这张卡支持OpenGL 3.
但OS X 10.6附带的标题和库似乎只是OpenGL 2(我检查了文件/usr/X11/include/).
我需要做一些OpenGL 3编程.我可以使用当前的硬件和操作系统来完成吗?我需要获得和安装什么?
(可以在https://gist.github.com/4044467找到最小的非编译示例,请参阅下面的更多背景.)
我正在尝试实现Okasaki 纯功能数据结构第10章中介绍的Bootstrapped Heaps.以下是我的非编译代码的简化版本.
我们要实现一个具有以下签名的堆:
module type ORDERED =
sig
type t
val compare : t -> t -> int
end
module type HEAP =
sig
module Elem : ORDERED
type heap
val empty : heap
val insert : Elem.t -> heap -> heap
val find_min : heap -> Elem.t
val delete_min : heap -> heap
end
Run Code Online (Sandbox Code Playgroud)
我们说当数据结构的实现依赖于同一种数据结构的另一种实现时,它就会被引导.所以我们有这样的堆(实际的实现并不重要):
module SomeHeap (Element : ORDERED) : (HEAP with module Elem = Element) =
struct
module …Run Code Online (Sandbox Code Playgroud) 我要将目标从更改S x = S y为x = y。就像inversion,只是为了目标而不是假设。
这样的策略似乎是合法的,因为当我们拥有时x = y,我们可以简单地使用rewrite并reflexivity证明目标。
目前,我总是发现自己经常使用assert (x = y)新的子目标,但是编写何时x且y复杂的表达式是很繁琐的。