PasteRack.org
Paste # 13651
2017-08-09 13:07:46

Fork as a new paste.

Paste viewed 32 times.


Embed:

for/set macro broken?

  1. #lang typed/racket
  2.  
  3. (require racket/set)
  4.  
  5. ;; Simple case.  Can't get to work.
  6. (: test ((Setof Integer) -> (Setof Integer)))
  7. (define (test ss)
  8.   (let ([ss1 (for/set ([s ss]) s)])
  9.     ss1))
  10.  
  11. ;; Ultimate goal
  12. (: set-filter (All (a) (Setof a) (a -> Boolean) -> (Setof a)))
  13. (define (set-filter ss f)
  14.   (let ([ss1 (for/seteq ([s ss] #:when (f s)) s)])
  15.     (set-subtract ss ss1)))

=>

eval:3:0: Type Checker: missing type for identifier;

 consider using `require/typed' to import it

  identifier: immutable-custom-set

  from module: private/set-types.rkt

  in: ss1

eval:5:0: Type Checker: missing type for identifier;

 consider using `require/typed' to import it

  identifier: immutable-custom-set

  from module: private/set-types.rkt

  in: ss1