Hello.

Consider this example:

(: apply1 (forall (a b) (procedure ((procedure (#!rest a) b) (list-of a)) b)))
(define (apply1 f args)
  (apply f args))

(cond-expand
 (compiling
  (compiler-typecase (list 'a 2 3)
    ((list-of (or symbol fixnum)) #t))))

(cond-expand
 (compiling
  (compiler-typecase +
    ((procedure (#!rest number) number) #t))))

(apply1 + (list 'a 2 3)) ; <- no type warning

---

This gives no compilation warnings. 

But shouldn't it warn at the last line that the type of the second
argument is not correct (i.e. not (list-of number))?

Am I missing something?

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to