是否可以在sml中获取泛型变量的字符串表示形式

时间:2013-01-20 15:21:50

标签: sml

我编写了一个泛型函数,现在我想要泛型变量的字符串表示。有没有一种简单的方法来获取它们?

例如:

fun arg:(string*'a) = (#1 arg) ^ toString((#2 arg)

这就是我想要做的事情。

因此,如果使用("hello", true")调用该方法,我想要“hellotrue”。如果有更复杂的结构我希望打印出来,如果可能的话。

1 个答案:

答案 0 :(得分:2)

简短的回答是否定的。

与Haskell不同,SML没有类型类,因此不可能派生出新类型的显示。

“唯一”方法是为您创建的每种类型创建特定的show或toString函数。 我说“只有”因为MLton在type indexed values

上有一篇非常好的文章