从C++之类的语言中,使用“代码>”一个Ref很有诱惑力,但您经常会发现,最小化它们的使用通常会导致SML中的代码更干净。(和其他函数式语言。)谢谢。这没有编译,但我得到了你的想法,并做了一些修改,使它工作。问题是,Vi是SML的好编辑器吗?因为换行符和空

从C++之类的语言中,使用“代码>”一个Ref很有诱惑力,但您经常会发现,最小化它们的使用通常会导致SML中的代码更干净。(和其他函数式语言。)谢谢。这没有编译,但我得到了你的想法,并做了一些修改,使它工作。问题是,Vi是SML的好编辑器吗?因为换行符和空,sml,smlnj,ml,Sml,Smlnj,Ml,从C++之类的语言中,使用“代码>”一个Ref很有诱惑力,但您经常会发现,最小化它们的使用通常会导致SML中的代码更干净。(和其他函数式语言。)谢谢。这没有编译,但我得到了你的想法,并做了一些修改,使它工作。问题是,Vi是SML的好编辑器吗?因为换行符和空格的问题,我感觉自己一直在出错。@FunBeans:我个人在vim中编写SML代码没有任何问题。空白不应该是个问题,因为它在语言中并不重要。另外,可以看看。谢谢。这没有编译,但我得到了你的想法,并做了一些修改,使它工作。问题是,Vi是SML的好


从C++之类的语言中,使用“代码>”一个Ref很有诱惑力,但您经常会发现,最小化它们的使用通常会导致SML中的代码更干净。(和其他函数式语言。)

谢谢。这没有编译,但我得到了你的想法,并做了一些修改,使它工作。问题是,Vi是SML的好编辑器吗?因为换行符和空格的问题,我感觉自己一直在出错。@FunBeans:我个人在vim中编写SML代码没有任何问题。空白不应该是个问题,因为它在语言中并不重要。另外,可以看看。谢谢。这没有编译,但我得到了你的想法,并做了一些修改,使它工作。问题是,Vi是SML的好编辑器吗?因为换行符和空格的问题,我感觉自己一直在出错。@FunBeans:我个人在vim中编写SML代码没有任何问题。空白不应该是个问题,因为它在语言中并不重要。除此之外,不妨看看。
1 val x = ref 0;
2 fun p(y': int ref)=
3 let
4   val y = !y'
5     in
6         let
7             y = 1
8             in
9                 let x := 0 
10                 in
11                 y' := y
12                 end
13         end  
14 end     
15 p(x)
val a = 5
6
val a = 5 6
val x = ref 0;

fun p(y': int ref)=
let
  val y = !y' (* this line might as well be deleted. *)
  val y = 1
in
  x := 0;
  y' := y
end;

p(x)
val x = ref 0;

fun p y' = (x := 0; y' := 1);

p x