You are looking at historical revision 3456 of this page. It may differ significantly from its current revision.

Introduction

Matchable is a drop-in compatible replacement for Chicken's MATCH macro. All forms are provided under the same name, and all features except the ..k pattern are supported.

In addition, matchable supports non-linear patterns, i.e. patterns where an identifier occurs multiple times, requiring all instances of the identifier to be EQUAL?. For example:

 (x _ x)

matches all lists of three elements whose first and third elements are the same.

For full documentation, see Pattern matching. However, the match-error-control and match-error-procedure procedures have no impact. A failure to match always signals an error.

Requirements

syntax-case or syntactic-closures

License

public domain

History

1.41
added syntax-error macro & specialized for Chicken [Kon Lovett]
1.3
updated to change in syntactic-closures 0.91
1.2
bugfix, now all tests pass with syntactic-closures
1.1
works now with syntactic-closures
1.0
initial release