pattern matcher and define-language for racket/scheme