[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Incompatibility with pattern matching

It seems that the constructor paradigm chosen in the draft does not easily accommodate future extensions for pattern matching. The problem is that a constructor can be many to one. E.g., in

  (define-type foo (x y)
    (fields a immutable (+ x y)))

we cannot automatically generate a pattern that can be used (like in MzScheme):

  (match (make-foo 1 2)
   ((make-foo x y) .....))

Indeed, since the record types of this SRFI are not freely generated, automatic destructuring is not a sensible operation.