o组合操作符(如val x = foo o bar,其中foo和bar都是函数),只能用于单参数函数和/或参数数量相等的函数吗? 如果不是,那么如何将foo(x,y)与bar(x)组合起来的语法是什么。
标准的SML库函数Int.toString对于负数使用~前缀而不是-。是否有一个库函数可以使用-代替~呢,除了编写自己的函数?fun i2s i = if i < 0 then "-" ^ Int.toString (~i) else Int.toString i
我刚开始学习SML,我正在尝试修改一些代码以便理解它正在做什么(我找不到一个好用的SML/NJ调试器,但这是另一个问题)。fun type_check e theta env non_gens = case e of constant_int _ => (integer,...
我怎么也想不出为什么下面的SML函数在我的作业问题中会引发警告:fun my_func f ls = case ls of [] => raise MyException | head :: rest => case f head of ...
我正在尝试使用SML/NJ,使用sml < source.sml运行代码,但它会输出太多信息。 例如,这是source.sml的内容:fun fac 0 = 1 | fac n = n * fac (n - 1) val r = fac 10 ; print(Int.toStrin...
我从这里下载并安装了适用于x86的SML NJ实现DMG:http://smlnj.cs.uchicago.edu/dist/working/110.72/index.html 但是,当我打开终端窗口并转到/usr/local/smlnj-110.72/bin,并运行sml时,出现bash命...
我正在使用标准ML(SML / NJ)编写一个“脚本”,以便根据我的喜好设置交互式环境。该脚本的最后一件事是打印一条消息,指示一切都顺利完成。基本上,最后一行是这样的:print "SML is ready.\n"; 当我运行脚本时,一切都很顺利,但SML解释器会显示来自print函数的返回值...
我写了一个函数,它按预期工作,但我不明白为什么输出是那样的。 函数:datatype prop = Atom of string | Not of prop | And of prop*prop | Or of prop*prop; (* XOR = (A And Not B) OR (...
我刚接触SML,在调试时通常会打印变量以查看它是否与我预期的相符。我想要在函数内部打印出一个变量。现在我有以下代码:function header.. let val prod val prod = c + x * y; in (print "product "; prod mod ...
我是 SML 的新手。 在 IF 语句中如何使用 AND 运算符? 这是我的代码: val y = 1; val x = 2; if (x = 1 AND y = 2) then print ("YES ") else print("NO "); 我的错误是: stdIn:66.9-67...