定義的類型我已經定義在球拍以下幾種類型:空調在球拍
(define-type vname (Pairof String Integer))
(define-type term (U vname (Listof (Pairof String term))))
(define-type subst (Listof (Pairof vname term)))
我將如何定義與簽名(-> subst term term)
過程(lift s t)
是在t
是vname
型或(Listof (Pairof String term))
的條件?有沒有簡單的方法來測試一個聯合類型的實際類型?如果我改爲(define-type term (U String Integer))
,則可以使用string?
來測試t
是否爲字符串;我如何將這擴展到我的情況?
但是,如何定義'term'使用結構? – Simeon
我不熟悉你的問題。但它看起來像你可以定義一個'(struct foo(str term)',然後'(define-type term(U vname(Listof foo))'你甚至可以定義一個結構來包裝列表本身。 – Gibstick