@@ -312,7 +312,7 @@ specified controls the fixity used by the associated @racket[type-constructor-id
312312
313313@(define alias-examples-eval (make-hackett-eval))
314314@defform[#:literals [left right]
315- (type type-clause type-expr)
315+ (type type-clause maybe-fixity-ann type-expr)
316316 #:grammar
317317 ([type-clause name-id
318318 (code:line (name-id param-id ...+))]
@@ -335,17 +335,20 @@ there are @racket[param-id]s. The arguments are supplied like those to a type co
335335@racket[(name-id type-argument ... )]—and the resulting type is @racket[type-expr] with each
336336@racket[param-id] substituted with the corresponding @racket[type-argument].
337337
338- Though the application of a type alias is syntactically similar to the application of a type
339- constructor, type aliases are effectively type-level macros, and they may not be partially applied.
340- All uses of a type alias must be fully saturated.
341-
342338@(hackett-examples
343339 #:eval alias-examples-eval
344340 (type (Predicate a) {a t:-> t:Bool})
345341 (def zero? : (Predicate t:Integer) (== 0 ))
346342 (#:type zero?)
347343 (eval:check (zero? 0 ) True)
348- (eval:check ((: zero? (Predicate t:Integer)) 0 ) True)
344+ (eval:check ((: zero? (Predicate t:Integer)) 0 ) True))
345+
346+ Though the application of a type alias is syntactically similar to the application of a type
347+ constructor, type aliases are effectively type-level macros, and they may not be partially applied.
348+ All uses of a type alias must be fully saturated.
349+
350+ @(hackett-examples
351+ #:eval alias-examples-eval
349352 (eval:error (: zero? Predicate)))
350353@(close-eval alias-examples-eval)}
351354
0 commit comments