我编写了一个简单的递归fibonacci程序,该程序在没有assert语句的情况下工作得很好,但是当我添加assert语句时,即使有各种括号、空格和双分号的排列,我在编译期间仍然会遇到语法错误。工作功能: let rec fib n =
then 1n*(fib (n-1)) 不工作: let rec fib n =
if n =
Haskell有一个非常好的undefined值,它懒洋洋地引发异常(在评估时)。Ocaml当然是严格的,所以。但是,这是不幸的,因为它意味着值没有底部类型。对于一般情况,有可能在您的val a : int中mli,所以我需要一种方法,一般合成一个底部类型。如果我只需要编译成功的话,failwith "undefined"就能工作。但是不幸的是,我还需要将这个ml文件链接到一个OUnit测试套件并运行它(显然这个套件会</e