我是Ocaml的新手,当我为lambda微积分编写解释器时遇到了一个奇怪的错误。 type exp =
Num of int
| Str of string
| Err
| Var of string
| Lambda of string * exp
| App of exp * exp
;;
type value =
N
所以我想为我的类编写一些代码,它会输出一个n阶斐波那契数列中第一个k项的int列表。 因此,对于那些你不知道,正一步斐波那契序列是当您添加上述N个前得到下一个, so for n=1 it'd be 1,1,1,1,1,...
n=2, it'd be 1,1,2,3,5,...
n=3 it'd be 1,1,2,4,7...
我的方法是用启动基地的情况下,所以 let rec n_st
我使用痛饮,并在头文件evidence.h,我有以下几点: namespace dai {
class Evidence {
public:
typedef std::map<Var, size_t> Observation;
};
}
而且在痛饮接口文件dai.i,我有以下几点: //The types are defined in both
此代码编译的F#就好以及OCaml的: let testmatch k =
match k with
| jqk3jtl23jtlk123 -> true
我已经在这两个FSI和UTOP测试。它总是返回true。 jqk3jtl23jtlk123是完全随机的,其类型推断为'a。即使我约束k与数据类型(如let testmatch (k: int) =)汇编(虽然明显制约te