diff --git a/quad/core-types.rkt b/quad/core-types.rkt index 6c170bd9..29ae3d33 100644 --- a/quad/core-types.rkt +++ b/quad/core-types.rkt @@ -43,6 +43,12 @@ (define-type+predicate QuadAttr (Pairof QuadAttrKey QuadAttrValue)) (define-type+predicate QuadAttrs (Listof QuadAttr)) (define quad-attrs? QuadAttrs?) +#| +;; mutually recursive version +(define-type HashableListKey (U Null (Pairof QuadAttrKey HashableListValue))) +(define-type HashableListValue (Pairof QuadAttrValue HashableListKey)) +(define-type+predicate HashableList HashableListKey) +|# (define-type+predicate HashableList (Rec duo (U Null (List* QuadAttrKey Any duo)))) (define-type JoinableType (U Quad QuadAttrs HashableList))