我是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