File tree Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Original file line number Diff line number Diff line change 5252 [#`(! #,props ... #,body)
5353 (check-properties* props '() error! deprecated-ops)
5454 (loop body vars)]
55+ [#`(cast #,arg)
56+ (loop arg vars)]
57+ [#`(cast #,args ... )
58+ (error! stx "Invalid `cast` expression with ~a arguments (expects 1) " (length args))
59+ (unless (null? args)
60+ (loop (first args) vars))]
5561 [#`(,(? (curry set-member? '(+ * and or ))) #,args ... )
5662 ;; Variary (minimum 0 arguments)
5763 (for ([arg args])
Original file line number Diff line number Diff line change 9595 (unless (equal? ift-repr iff-repr)
9696 (error! stx "If statement has different types for if (~a) and else (~a) " ift-repr iff-repr))
9797 ift-repr]
98- [#`(! #,props ... #,body) (loop body (apply dict-set prop-dict props) ctx)]
98+ [#`(! #,props ... #,body)
99+ (loop body (apply dict-set prop-dict (map syntax->datum props)) ctx)]
99100 [#`(,(? (curry hash-has-key? (*functions*)) fname) #,args ... )
100101 ; TODO: inline functions expect uniform types, this is clearly wrong
101102 (match-define (list vars prec _ ) (hash-ref (*functions*) fname))
You can’t perform that action at this time.
0 commit comments