You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Invalid infinite type constructions should be a compiler error.
In order for a recursive type construction to be finite, the recursion needs to be optional... that is, there needs to be a variant where there is no recursion.
(datatype container (:t 'a))
;; this is an invalid infinite type
(datatype foo (:t foo))
;; these are invalid infinite type constructions
(typealias bar { a=(container bar) } )
(define (f x) : ((container foo) -> int)
1)
1 ;; this is the required begin block
The text was updated successfully, but these errors were encountered:
jeske
changed the title
report invalid INFINTE type constructions
report error on invalid INFINTE type constructions
May 9, 2017
Invalid infinite type constructions should be a compiler error.
In order for a recursive type construction to be finite, the recursion needs to be optional... that is, there needs to be a variant where there is no recursion.
The text was updated successfully, but these errors were encountered: