smlnj

    2熱度

    1回答

    我正在用SML/NJ創建一個數獨求解器。我已經掌握了實際操作輸入數據的所有功能(檢查行的合法性,強制空白空間等),但是我在回溯部分遇到問題。 我碰到過this question但我很困惑如何在SML中實現它。 。注意,板被輸入作爲表示每一行,0中的數字對於一個未知點 [[0,0,0, 2,6,0, 7,0,1], [6,8,0, 0,7,0, 0,9,0], [1,9,0, 0,0,4, 5,

    0熱度

    3回答

    我想從命令行傳遞兩個參數。我知道如何使用CommandLine.arguments傳遞一個參數。 val arg1 = CommandLine.arguments(); 但如何傳遞兩個參數並使用它? 謝謝。

    2熱度

    1回答

    我正在學習多態和SML。我有點不確定如何處理元素的總和,同時保持函數多態。 說,如果我有這樣的定義... datatype 'a customList = nothing | customL of 'a * 'a customList 這個列表... val a = customL(2, customL(1, customL(3, nothing))) 我想我需要使用(OP +),因爲多態

    2熱度

    1回答

    type VAR = identifier type code = instruction list type environment = identifier list type EXPR = environment -> code * environment fun ADD_OP expr expr' env = DUMMY fun SUB_

    -1熱度

    1回答

    我在Mac上遇到了SML/NJ問題。我下載了正確的原始pgk文件。 SML/NJ安裝在正確的道路上:/usr/local/smlnj/bin/sml但是當我嘗試運行sml(命令:SML)出現以下消息: -bash: sml: command not found. 我覺得現在的問題是,我有OSX 10.11.3在我的Mac 。

    6熱度

    1回答

    如果我嘗試編寫一個參數化模塊,該參數化模塊在參數提供的未指定類型上調用=,SML/NJ將拋出一個類型錯誤。例如,如果我有一個簽名 signature SIG = sig type t end ,並嘗試參數模塊F在模塊S與簽名SIG functor F (S : SIG) = struct fun f (x:S.t) (y:S.t) = (x = y) end 我

    1熱度

    2回答

    我得到了這兩個問題對於這個功能: fun funion([(x:int list,y:bool list)]) = let fun join(nil,final) = final | join(x::xs,final) = join(xs,union(x,final)) | join(_,final) = final in join([(x,y)],(nil,nil))

    1熱度

    1回答

    我在理解這是如何工作的,並希望我能得到一些指導方面有一個心理障礙。下面的函數f將對整數列表(f [1,2,3])進行排序。我堅持的部分是val聲明和遞歸中發生的事情。我知道val聲明將允許我將列表中的第二個值與第一個值進行比較,但是我對列表串聯感到困惑。看起來這個函數只是比較前兩個值,然後粘貼列表的其餘部分(即x :: y :: ys)。我不確定如何實際工作。難道...... 1)前兩個值進行比較

    1熱度

    1回答

    我試圖在SMLNJ中創建一個curried函數,它將一個(string * bool)對添加到列表中。我可以這樣做: fun push L a b = (a,b) :: L; -val push = fn : ('a * 'b) list -> 'a -> 'b -> ('a * 'b) list 這一工程,但我想,只有接受(字符串*布爾)列表,字符串和布爾函數。我無法弄清楚如何編寫函數簽名

    1熱度

    3回答

    我看到過一些類似的問題,但沒有什麼能真正幫助我。基本上標題說明了一切。使用SML我想要一個我有的字符串,並製作一個包含字符串中每個字母的列表。任何幫助將不勝感激。