Recursive patterns where first described in the Strategic pattern matching paper.
A recursive pattern has the following format
strategies LambdaExp = rec x( Var(is-string) + Lambda(Var(is-string), x) + App(x, x) )
This recursive pattern assumes a signature that defines the constructors Var/1, Lambda/2 and App/2. For example as follows:
signature sorts Lexp constructors Var : String -> Var Lambda : Var * Lexp -> Lexp App : Lexp * Lexp -> Lexp : Var > Lexp