Currently, the floating-point bitmap type is defined so that its size fields are Integer, and a guard assures that they're really Nonnegative-Fixnum:

(struct: flomap ([values : FlVector]
                 [components : Integer]
                 [width : Integer]
                 [height : Integer])
  #:transparent
  #:guard
  (λ (vs c w h name)
    (with-asserts ([c  nonnegative-fixnum?]
                   [w  nonnegative-fixnum?]
                   [h  nonnegative-fixnum?])
      [...] ; elided length check on vs
      (values vs c w h))))


What I'd *really* like, though, is to have the fields be Nonnegative-Fixnum in the first place, and simply have a more permissive constructor. Is there a way to do that? As it is, `flomap-components' always returns an Integer, but no flomap instance can actually have an integer-valued `components' field.

Neil ⊥

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

Reply via email to