sml

    0熱度

    2回答

    截至目前,我正在使用inputAll讀取整個輸入文件,然後使用String.tokens在每次出現的空格處拆分每個單詞。 val file = TextIO.openIn input val _input = TextIO.inputAll file val _ = TextIO.closeIn file String.tokens Char.isSpace _input 例)「紅藍綠」

    2熱度

    2回答

    我試圖破譯的這種類型選擇部分的含義。從我能收集到的數據來看,它乘以int,(int -> int),再乘以int。我只是困惑,什麼(int -> int)手段。任何幫助將非常感激。 val callcc = SMLofNJ.Cont.callcc val throw = SMLofNJ.Cont.throw type 'a cont = 'a SMLofNJ.Cont.cont type

    1熱度

    1回答

    我正在寫一個遞歸ML函數,它接受一個字符串和一個索引值,並將該字符串分割給定索引。該函數應該返回一個包含兩個字符串的列表。 據我所知,我需要兩個基本案例來檢查是否已達到索引,另一個檢查字符串是否超出字符。我被困在如何將字符分配給不同的字符串。請注意,我使用了一個輔助函數來清除最初的調用,這樣在每次函數調用時都不需要輸入爆炸。 fun spliatHelp(S, num) = if nul

    0熱度

    1回答

    我工作的任務從一個函數中提取值,並給出了以下功能: fun label (lb,ub) = let val s = callcc (fn k =>let fun branch c = if (c < ub) then (pushCP (k,branch,c+1);c) else ub in (pushCP(k,

    1熱度

    2回答

    在現實實數力平等在REAL signature解釋的,在SML定義的真實類型不是相等類型,因此下面的表達式不降低 > 1.0 = 1.0; poly: : error: Type error in function application. Function: = : ''a * ''a -> bool Argument: (1.0, 1.0) : real * real

    0熱度

    2回答

    我正在我的筆記本電腦上安裝SML,並修改了路徑文件。現在,所有的基本命令都不起作用。 即012) -bash:ls:command not found 如何重置所有內容?

    0熱度

    2回答

    這是我的代碼,並且它不斷給我提供未綁定的錯誤消息。 我其實是真正的新SML。所以,我真的不知道如何解決它。 看起來好像使用a和b是壞事。 我想聲明a和b 這樣 a : int; b : int; ,但仍然無法正常工作。 我該如何解決這個問題?

    3熱度

    1回答

    據我所知,在SML模塊中,爲防止每個類型被不透明簽名歸屬隱藏,可以在簽名中指定具體類型。 我試圖做一個仿函數來做符號表,隱藏表類型但是讓條目類型透明。但是每當我做不透明歸屬時,我都無法訪問入口類型。下面是我的簽名和函子: signature ST_ENTRY = sig type entry val name : entry -> string end signature

    1熱度

    2回答

    我希望完成的是將字符串和布爾值傳遞到列表中。 「開關」操作符切換輸入類型的前兩個元素,'和'操作符以及前兩個元素。 但是,如果我想'和'布爾值和字符串,我將如何添加錯誤字符串到列表(「錯誤」)?另外,SMl不接受x::y::xs我應該放什麼,因爲我想切換而不管類型。 datatype input = Bool_value of bool | String_Value of string | Exp

    1熱度

    2回答

    無論如何要組合這兩個函數,它們需要一個列表並返回最高和最低元素。想要同時輸出。歡呼聲 fun max[] = raise Empty max[x] = x max(x::xs) = let val y = max xs in if x > y then x else y end; fun min[] = raise Empt