chickadee » datatypes » concrete-case

(concrete-case (obj type?) ((Constructor arg ...) xpr ....) .... (else xpr ....) ..)syntax

the one macro which replaces in concrete datatypes the many accessor routines by destructuring the Constructors' arguments via pattern matching. The macro checks first, if obj passes the type? test and then tries to match obj against the variant constructors, invoking the body of the first matching one. This body xpr . xprs has access to the constructor's arguments arg ... Note, that the syntax of concrete-case differs from that of cases.