我是SML的新手(实际上也是编程的新手)。 fun readlist (infile : string) = let val ins = TextIO.openIn infile fun loop ins = case TextIO...
我正在使用Mac OSX 10.7.5,但似乎无法下载带有REPL的可用的Standard ML编译器。这是应该很困难吗?有最好的ML我应该下载吗?我已经尝试过SML / NJ和MLton但都没有成功。
在SML中,您是否可以在一个case语句中使用多个模式? 例如,我有4个算术运算符以字符串形式表示,"+", "-", "*", "/",如果它是"+"或"-",我想打印"PLUS MINUS",如果它是"*"或"/",则打印"MULT DIV"。 简而言之:是否有地方可以简化以下内容以使...
我刚开始学习SML中的函数式编程,我想知道如何将以下两个函数合并为一个函数。函数isolate使用辅助函数'removes'来删除任意类型('a)列表的重复项。 fun isolate [] = [] | isolate (l as x::xs) = x::isolate(remove(...
我该如何将命令行参数传递给SML脚本?我知道有一个正确类型的unit -> string list函数CommandLine.arguments(),但是我该如何调用解释器来实现: $ sml script_name.sml an_argument another_one 没有给我...
考虑以下 SML 函数: fn x => x x 这会产生以下错误(New Jersey标准ML v110.72): stdIn:1.9-1.12 Error: operator is not a function [circularity] operator: 'Z i...
我正在使用 SML/NJ v110.80 和 Lazy。我在 REPL 中尝试了以下代码。 Control.lazysml := true; open Lazy; fun f x = f x; let val x = $(f(4)) in 15 end; 最后的表达式应该是15,但它发...
我正在使用SML/NJ,需要在另一个文件f2.sml中使用一个名为f1.sml的函数集。 然而,我没有直接运行f2.sml文件,而是从其他地方导入它。 如果我在f2.sml中使用use命令,并提供相对于f2.sml路径的f1.sml路径,那么当我导入f2.sml时,它将从脚本的角度查找提供...