问题标签 [smlnj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
545 浏览

sml - SMLNJ 想从每个打印语句执行中删除“val it = () : unit”

我正在编写在 SML/NJ 和 MLton(非交互式)上运行的 sml 程序。当我在 sml 文件中使用打印语句时,SML/NJ 总是添加

到输出,这会使输出混乱。MLton 不这样做。

有没有办法删除这个输出?我试过 CM_VERBOSE=false,但没有帮助。

运行 SML/NJ v110.73。

0 投票
1 回答
2300 浏览

list - 记录列表上的 SML 功能

我正在尝试声明一个函数,该函数将元组内的记录列表作为参数,但语法并不像我希望的那样直观。

这是我正在尝试做的事情:

0 投票
2 回答
14423 浏览

sml - SML 中的类型转换

我是 SML 的新手,正在使用 SMLNJ 方言。

出于某种目的,我一直在尝试将 3 类型转换为 3.0(int 到 real)。

找不到出路。我怎样才能做到这一点?如何在类型之间进行转换?

0 投票
2 回答
23623 浏览

sml - 标准 ML 中的 elseif 语句?

我正在做一个家庭作业问题来制作一个函数 sumOdd 来计算前 n 个奇数的总和,但我似乎找不到任何类型的 elseif 类型语句来这样做。我试图做的是下面但当然不起作用:

0 投票
1 回答
262 浏览

sml - 访问树中的节点/叶子

我在标准 ML 中做一个家庭作业问题,我们刚刚开始学习,我坚持尝试计算一棵树中叶子的总和。我如何访问这棵树的节点中的元素?

在此处输入图像描述

0 投票
2 回答
1308 浏览

sml - SML/NJ 中的高阶函数

我正在寻求解决问题的帮助。我正在尝试编写一个在 ML 中同时传递列表和函数的函数。基本上程序应该做的是获取一个列表并通过函数运行每个元素。如果函数返回 true,则将元素添加到列表中,并在函数完成执行后返回列表。这是我的代码:

任何帮助将不胜感激。

0 投票
2 回答
709 浏览

types - 将其参数应用于自身的函数?

考虑以下 SML 函数:

这会产生以下错误(新泽西州标准 ML v110.72):

我可以理解为什么这是不允许的——首先,我不确定如何写下它的类型——但这并不是完全荒谬的;例如,我可以将标识函数传递给它并取回它。

这个函数有名字吗?(有没有办法用 SML 来表达?)

0 投票
1 回答
603 浏览

regex - 检测 ml-lex 中的单词。(正则表达式)

我正在尝试用 ml-lex 编写一个程序来检测整数和实数。我的程序是这样的:

但问题是它只检测从新行开始的整数和实数。我试图放弃(^ | " "+)start ,^但随后 ml-lex 给出了 error ml-lex: syntax error, line 15: unhandled exception: Error。我可以进行哪些更改来检测“我有 5 本书”之类的句子之间的整数和实数。并且程序应该忽略所有字符并且应该只检测整数 5。

我还有一个问题。我想我已经为实数定义了正则表达式,它应该说,只有当数字在 .(点)之后只有一个零或从 0-9 的某个数字序列但不以零结尾时,某些东西才是真实的。但我的程序也将 5.00 和 5.600 检测为实数。

0 投票
2 回答
3761 浏览

sml - 在 SML 中将字符串转换为实数

我想将实数的字符串表示形式转换为实数类型。我知道我可以做到,Real.fromString("5.5")但它不返回实数类型,而是我不能与任何其他实数相乘或相加的实数期权类型。

0 投票
1 回答
1235 浏览

functional-programming - 扭曲的 SML 中的选择排序

我开始对 sml 越来越熟悉,但是这个问题让我陷入了一个循环。我需要做的是在列表上执行选择排序,但扭曲的是所有偶数都需要进行奇数。

例如:

如果没有某种 for 循环或变量来帮助我,我无法解决这个问题。由于我是 sml 的新手,任何输入将不胜感激。谢谢!