The first three loops typecheck as expected, but the fourth, using for*/and 
with two bindings, does not. What is missing?

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

#lang typed/racket

(for*/sum : Integer
  ([i : Integer (in-range 10)])
  1)

;; 10

(for*/and : Boolean
  ([i : Integer (in-range 10)])
  #t)

;; #t

(for*/sum : Integer
  ([i : Integer (in-range 10)]
   [j : Integer (in-range 10)])
  1)

;; 100

(for*/and : Boolean
  ([i : Integer (in-range 10)]
   [j : Integer (in-range 10)])
  #t)

;; Error in macro expansion -- insufficient type information to typecheck


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to