打印到标准输出在sml

问题描述:

datatype term = node of string*term list 
     | vnode of string 

我有一个类型term的值。我如何在sml打印到标准输出。打印到标准输出在sml

您需要先从term中创建一个字符串,然后使用print来打印该字符串。要将term转换为字符串,可以定义如下的函数:

fun termToString (node (str, terms)) = 
    "node("^str^", "^termListToString terms^")" 
    | termToString (vnode str) = 
    "vnode("^str^")" 
and termListToString terms = 
    "["^String.concatWith ", " (map termToString terms)^"]"