问题标签 [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.
sml - 列表参数函数中的 sml 递归
列表 & 一个整数 n。该函数应添加列表的第 n 个元素,并返回剩余的列表。例如
插入([5,6,7],2,9);输出:[5,9,6,7]
n 是 2。9 是我添加的第二行
recursion - 当传入一个空列表时,为什么我的排列函数会给我一个警告?
我的置换函数:
输入:
输出:
有人可以解释为什么类型变量没有被概括吗?
需要注意的是,perms的类型是在输入perms后给出的;作为
所以看起来我已经实现了广义变量,至少对我来说。
command-line - 如何禁用 SMLNJ 警告?
我正在尝试编写命令行脚本,但 SML 的警告混淆了界面。
文档说要使用:
但 SMLNJ 已将其重命名为:
这实际上产生了更多的打印输出。
例子:
相对:
sml - 如何使用 SML/NJ 运行独立脚本?
如何使用 SML/NJ 运行从 STDIN 读取并写入 STDOUT 的脚本?有没有办法摆脱解释器本身的输出?
sml - 如何将负整数转换为带有减号而不是波浪号的 SML 中的字符串?
标准 SML 库函数 Int.toString 以负数为前缀,~
而不是-
。是否有一个库函数可以-
代替,没有写
macos - 如何在 Mac 上构建 SML/NJ 可执行文件
我有一个可以作为堆映像运行的 SML/NJ 程序,并且我想创建一个独立的可执行二进制文件。但是,heap2exec
SML/NJ 110.73 中的工具总是会给我带来错误。
tigerc.x86-darwin
我通过以下方式创建了我的堆映像:
我可以通过以下方式使用堆图像正常运行我的程序
我应该能够通过
但这会产生错误
我查看了heap2exec
shell 脚本,关键行(变量扩展)执行以下操作:
当我单独运行这些步骤时,该cc
命令会生成一个 x86_64.o
文件,但该ld
命令正在尝试链接 i386 可执行文件。所以我需要说服cc
命令生成一个 i386.o
文件。
有没有办法设置环境变量来cc
构建 i386 而不是 x86_84?(ARCH
顺便说一句,它没有成功 - 它已经设置为i386
。)
或者是否有另一种解决方法heap2exec
来生成正确的架构?
sml - ML - 打印值错误 (#)
我写了函数,例如我有下一行(这只是函数的一部分):
Pr
, Sym
, St
, Dt
- 都是数据类型;d
并且c
是字符串。
当我运行函数up
时,它的参数([St("hello"),Dt,St("hi"),rp]),
是 print val it =Pr(Sym(#), Sym(#))
,而不是val it = Pr(Sym("hello"), Sym("hi"))
. 为什么?谢谢。
smlnj - 如何计时我的 sml 代码?
谁能告诉我如何计时我的 sml 代码?
我已经实现了相同算法的几个不同版本,并且想为它们计时,甚至可能知道内存使用情况?
sml - sml 代码中的语法错误
我正在学习 sml 并尝试制作一个简化逻辑公式的程序。当我尝试运行此代码时,我总是得到相同的错误,我无法弄清楚。它总是“错误:语法错误:删除 BAR ID DARROW”。我附上了下面的代码:
我已经添加了整个代码:
smlnj - 查找字符串是否是 SML NJ 中其他字符串的子字符串
在 SML NJ 中,我想查找一个字符串是否是另一个字符串的子字符串并找到它的索引。谁能帮我这个?