标准ML是一种带有类型推断的高级函数语言。
在 ML 中,如何在 String.tokens 函数的输出中保留分隔符?
这里是tokens函数的基本实现: 有趣的 f c = c = #" "; val testStr = "int main(){return 42;}"; val stringL = String.tokens f testStr; 它返回: val 字符串...
这些返回类型有什么不同? val fn1 : int -> (int -> (int -> int)) val fn2: (int -> int) -> (int -> int) 这创建了一个类型的函数 整数 -> 整数 -> ...
我是函数式编程新手,我有一个任务来计算列表的部分和。 例如。 - psum [1,1,1,1,1]; val it = [1,2,3,4,5] : 整数列表 这是到目前为止我的代码。然而在功能上
创建二叉树的实例(Robert Harper 的编程标准 ML)
在 Robert Harper 的在线书籍(编程标准 ML,第 88 页)中,我们对二叉树有以下定义: 数据类型'一棵树= 叶子 | 'a 分支 * 'a 分支的节点 和'一个分支...
有趣的反向 ( [] ) = ( [] ) |反向 (x::xs) = 反向 (xs) :: [x] 为什么我的这个反转列表的功能不起作用
有人可以帮我理解SML中的List.nth吗? 它输出列表中的指定元素。 A) List.nth([7,3,6,1],0); val it = 7 : 整数 b) List.nth([7,3,6,1],1); val it = 3 : int 为了考试...
我正在使用 SML 进行编程。我的函数接受一个整数,然后用逗号将其拼接到一个列表中。例如数字 12345 -> [1,2.3,4,5]。我的问题是如何使我的代码更加模块化。我...
标准机器学习中的函子与模块系统相关,可以基于其他结构生成结构。给出了一个为各种类型的列表生成列表组合器的函子示例
我正在编写一个程序,它接受 int 列表并返回它们的交替和的值。 输入:[1,2,3,4] 输出:1+(-2)+3+(-4) 下面是我尝试为此编写的代码,但是...
我正在尝试使用 SML 执行以下操作: 打印 2 个整数的元组,第一个是数字 1-50,第二个是 1(这是我到目前为止所拥有的): val nextInt = Random.randRange (1,50);...
这是一个函数,它接受一个对列表并返回对中第一个对象的列表。 有趣的秒(对:(a * b)列表):b列表= 让 首先有趣(对:a * b):a = fst p...
对于资深程序员来说,如何在 VScode 中安装并运行 SML 语言?语法高亮和解释。 谢谢您的宝贵时间
有人可以教我 let-val-in-end 情况下的递归是什么样的吗?我很难理解这个过程,即循环的崩溃 [SML] 示例: “c”的行为如何...
这更多的是一个风格问题。给出以下代码: case e1 of (* 数据类型 type_of_e1 = p1 | p2 *) p1 => (*
在 Haskell 中,我们有一个元组类型,如 (a, b, ...)。我正在尝试阅读一些 SML 代码,并且我已经知道值 (a, b) 类型是 a * b。但后来我看到了这个: 输入 ('a,'b) reader = 'b -> ('a * 'b)
我对我定义的 pop() 标准函数和 myPop() 函数以及相关的返回类型有一些疑问。 1. fun myPop(L)= if null L then raise EmptyList else (hd L,tl L) val myPop = f...
(* 定义将变量表示为字符串的数据类型 *) 数据类型变量 = 字符串的 GLL_Variable; (* 为变量类型(布尔值或整数)定义数据类型 *) 数据类型 Type = TypeBoolea...
使用SML/NJ的Lazy — 表达式应该是15,但它发散了
我正在使用 SML/NJ v110.80 和 Lazy。 我在 repl 中尝试了以下代码 Control.lazysml := true; 打开懒惰; 乐趣 f x = f x; 让 val x = $(f(4)) 在 15 结束; 最后一个表达式应该是 15 但它除...
无论如何,将这两个函数组合起来,这两个函数接受一个列表并返回最高和最低的元素。想要同时输出两者。干杯 fun max[] = 引发空 最大值[x] = x 最大(x::xs)=...