www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

generate-indices.rkt (804B)


      1 #lang typed/racket
      2 (require "typed-untyped.rkt")
      3 (define-typed/untyped-modules #:no-test
      4   (provide generate-indices)
      5   
      6   (require "typed-untyped.rkt")
      7   (require-typed/untyped "sequence.rkt")
      8   (: generate-indices (∀ (T) (case→ (→ Integer (Syntax-Listof T)
      9                                        (Listof Integer))
     10                                     (→ (Syntax-Listof T)
     11                                        (Listof Nonnegative-Integer)))))
     12   
     13   (define generate-indices
     14     (case-lambda
     15       [(start stx)
     16        (for/list ([v (my-in-syntax stx)]
     17                   [i (in-naturals start)])
     18          i)]
     19       [(stx)
     20        (for/list ([v (my-in-syntax stx)]
     21                   [i : Nonnegative-Integer
     22                      (ann (in-naturals) (Sequenceof Nonnegative-Integer))])
     23          i)])))