sml

    2热度

    2回答

    I have a function called mergeP: fun mergeP(nil) = nil | mergeP(x::[]) = x::[] | mergeP(x::y::zs) = (x @ y)::mergeP(zs); If mergeP is called like: mergeP([[1],[2],[3],[4]]) it will return [[1,2],[

    0热度

    2回答

    截至目前,我正在使用inputAll读取整个输入文件,然后使用String.tokens在每次出现的空格处拆分每个单词。 val file = TextIO.openIn input val _input = TextIO.inputAll file val _ = TextIO.closeIn file String.tokens Char.isSpace _input 例)“红蓝绿”

    0热度

    1回答

    零参数的功能如果有一个功能富这样的: fun foo() = 10 当我想运行富,我写的是这样的: val bar = foo 但酒吧变成函数(单位 - > INT)不是10 所以我TR ied像这样: val int bar = foo 但它会报错。所以,我想是这样的: fun foo x = 10 val bar = foo 0 最后我得到酒吧 = 10,但它看起来太可怕了

    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

    1热度

    1回答

    val g1 = fn x => fn y => fn z => (x y) :: z; val g1 = fn : ('a -> 'b) -> 'a -> 'b list -> 'b list 这是代码和输出。我不知道为什么输出是这样的。 我明白'b list -> 'b list因为z显然是一个列表,所以(x y) :: z也是列表。 但是,我不明白为什么fn x => fn y是('a

    1热度

    1回答

    fun randomList(n) = let val theList = [] val min = 1 val max = 75 val nextInt = Random.randRange(min,max) val r = Random.rand(1,1) val randomValue = nextInt r in