At Fri, 6 Jun 2014 13:23:15 -0400, Asumu Takikawa wrote:
> On 2014-06-06 06:31:27 +0100, Matthew Flatt wrote:
> > Sorry for being so late to the discussion, but I agree that something
> > like `class-constructor-arity` and `class-constructor-arity-includes?`
> > should be added to `racket/class`.
> 
> Are those even possible to implement?
> 
> After all, I can construct a class that has 2 init arguments on
> Wednesday and has 3 on Friday (by checking the date and then using
> different `super-new` calls in the branches).

Good point! The `make-object` function doesn't check arities or
argument names in advance; it has to wait to see what a initialization
expressions do.

I think we could add a function that reports argument information for
simple classes, where "simple" is based on the relevant class
expressions conforming to syntactic constraints. The constraints would
be a simplified (and documented) variant of the constraints that are
currently used to determine whether use-before-definition checks are
needed for accesses of a field's classes.

Is argument information useful enough to do that?

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

Reply via email to