Next Functional Programming in Perl 22

Syntactic Difficulties

        val statement =
          alternate(concat(concat(concat(identifier, token "="),
                                  expression), token ";"),
                    concat(concat(token "PRINT", expression),
                           token ";"),
                    token ";");
        val statement =
             identifier - token("=") - expression - token(";")
           | token("PRINT") - expression          - token(";")
           |                                        token(";");

Next Copyright 2005 M. J. Dominus