ジェネリック関数を作成しましたが、ジェネリック変数の文字列表現が必要です。それらを簡単に入手する方法はありますか?
例えば:
fun arg:(string*'a) = (#1 arg) ^ toString((#2 arg)
それが私が基本的にやりたいことです。
したがって、そのメソッドが呼び出された場合、("hello", true")
「hellotrue」が必要です。もっと複雑な構造がある場合は、可能であればそれを印刷したいと思います。
ジェネリック関数を作成しましたが、ジェネリック変数の文字列表現が必要です。それらを簡単に入手する方法はありますか?
例えば:
fun arg:(string*'a) = (#1 arg) ^ toString((#2 arg)
それが私が基本的にやりたいことです。
したがって、そのメソッドが呼び出された場合、("hello", true")
「hellotrue」が必要です。もっと複雑な構造がある場合は、可能であればそれを印刷したいと思います。
短い答えはノーです。
Haskell とは異なり、SML には型クラスがなく、たとえば新しい型を表示することはできません。
「唯一の」方法は、作成する型ごとに特定の show または toString 関数を作成することです。MLton には、インデックス付きの値の型に関する非常に優れた記事があるため、「のみ」と言います。