Как определить полиморфный тип в Racket? - PullRequest
2 голосов
/ 03 июля 2019

Я могу сделать что-то вроде (def-structural T (args ....))}, затем применить T как функцию в base-env/base-types.rkt (я имею в виду, я могу написать (T arg ...)).

Но я хочу определить -HT как имя для (-poly (a b) (Un (T1 a b) (T2 a b))) (для некоторых T1 T2).

Я пытался (define -HT (-poly ....)), и тогда я не могу написать (-HT a b) позже в base-env/base-types.rkt.

...