ocaml

    1熱度

    1回答

    我寫了簡短的代碼位,以簡單地跳過num_lines線在輸入文件(打印線條勾勒出用於調試目的這裏有兩件事情我想,沒有工作。 for i = 0 to num_lines do print_endline (fscanf infile "%s" (fun p -> p)); done;; for i = 0 to num_lines do print_endline (fsc

    8熱度

    1回答

    Bigarray模塊上的文檔有些模糊。它指出該模塊中數組的目的是保存「大數組」,但它並沒有真正定義「大數組」的含義。我應該在常規數組上使用Bigarray嗎?是否有一定數量的元素超出我應該使用Bigarray?它在成千上萬嗎?百萬?十億? 什麼使Bigarray更好地處理大數組?什麼使常規數組更好地處理...非大數組?

    2熱度

    4回答

    所有這些都從一個簡單的想法開始:如何在ocaml中編寫python樣式的格式化字符串。 pythoners可以初始化字符串爲: str = "this var: %s" % this_var str2 = "this: %s; that: %s" % (this_var, that_var) 但ocaml的按照以下格式的字符串代碼: let str = Printf.sprintf "thi

    8熱度

    3回答

    我想要一個List.map的尾遞歸版本,所以我寫了我自己的。那就是: let rec list_map f l ?(accum=[])= match l with head :: tail -> list_map f tail ~accum:(head :: accum) | [] -> accum;; 每當我編譯這個功能,我得到: File "main.ml"

    3熱度

    1回答

    我有一個程序,解決加權interval scheduling problem using dynamic programming(並相信與否,它不是作業)。我已經介紹過它,而且我似乎花費了大部分時間用p填充M(...)。下面是功能: let rec get_highest_nonconflicting prev count start = match prev with he

    7熱度

    1回答

    有些功能是很容易在OCaml中實現(例如,從列表地圖),但你可以使用OCaml的庫圖:List.map 但是,我們可以知道哪些代碼會更有效率。調用單獨編譯單元(庫)的模塊可能會使一些可能的優化失效。我在新聞組fa.caml中讀到,當從庫中調用函數時,會使用閉包。 我在生產中使用模塊和函數進行泛型編程的OCaml代碼。由於歷史原因,我的代碼是monolitic:全部在一個文件中。現在我有更多的時間,

    4熱度

    3回答

    我將如何創建一個鏈接列表來保存Ocaml中的數據?我試圖做一個單獨的鏈接列表,但即時通訊語法有問題。我只想創建一個模塊,只需從鏈表中獲取'a,插入'a或刪除'a。 任何人有什麼想法? 感謝, 費薩爾阿比德

    19熱度

    4回答

    我最近一直在做一些OCaml編程,以學習語言和熟悉函數式編程。最近,我開始想,我希望能夠擴展現有的類型(內置,還是我自己的一個),例如: type bexp = And of bexp * bexp | Or of bexp * bexp | Xor of bexp * bexp | Not of bexp;; 現在讓我們假設我要添加這種類型的Nop變體,但只適用於新類型 -

    4熱度

    3回答

    我目前正在編程一個OCaml模塊,它定義了一個與CPU寄存器相對應的類型。這個模塊的接口如下: (* * Defines a type which represents a R3000 register. *) type t = | R0 (* Always 0 *) | AT (* Assembler temporary *) | V0 | V1

    4熱度

    2回答

    例如,假設我想打一個類型這樣的(使用Dyn_array): type some_type = SomeConstructor of <Dyn_array of integers> 我失去了對如何做到這一點,雖然一點點。有人能給我一個例子,所以我可以把我的頭圍繞這個?