Сопоставление с образцом OCaml на встроенных типах

Я пытаюсь записать полиморфную функцию, которая должна сделать что-то немного отличающееся в зависимости от типа параметра. Есть ли какой-либо способ, которым я могу сделать соответствие шаблона на типе объекта, с помощью встроенных типов? Я думаю о чем-то вдоль этих строк:

let to_string v =
    match v with
    | string -> v
    | int -> string_of_int v
    | _ -> ""

но это, кажется, не действительная программа OCaml.

Я видел этот вопрос, но это не вполне отвечает на мой вопрос также. Я предпочел бы использовать стандартные, встроенные типы вместо того, чтобы создать новые типы для этого (хотя я могу сделать это, если это - единственный путь).

5
задан Community 23 May 2017 в 12:27
поделиться