Commit e41e77fa authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Drop ACL 5.0 support. Document the new GIT repo.

parent f0d5ba79
;;; -*- Mode: Lisp ; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; Lisp2-style Erlang/ML-like Extensible Pattern-Matcher for Common LISP
;;; Copyright (c) 2002-2008 Fahree Reedaw <fare@tunes.org>
;;; Copyright (c) 2002-2009 Fahree Reedaw <fare@tunes.org>
#+xcvb (module (:depends-on ("packages")))
#| "
This software is now being packaged for use with asdf-install.
The homepage for this software is
http://www.cliki.net/fare-matcher
In case you want the latest version of the software, check the CVS at:
http://fare.tunes.org/cgi-bin/viewcvs.cgi/fare/lisp/fare-matcher/
This package depends on package fare-utils in neighbouring CVS directory.
In case you want the latest version of the software, check the git repo at:
http://common-lisp.net/gitweb?p=users/frideau/fare-matcher.git
This package depends on package fare-utils in neighbouring git repository.
This software is released under the bugroff license. Use at your own risk.
http://www.geocities.com/SoHo/Cafe/5947/bugroff.html
......@@ -256,12 +256,12 @@ or otherwise the IFFAILS form in the calling lexical environment."
,(construct-values-closure (count-values pattern)
exp))))))
`(flet ((,*failure-continuation () ,iffails))
#+(or cmu sbcl) (declare (ignorable #',*failure-continuation))
(let (,@form-rebinder ,@vars)
,@(when form-rebinder `((declare (ignorable ,*form))))
(funcall (block ,*m%point
(multiple-value-call ,matcher (funcall ,*form))
#'(lambda () ,ifmatches))))))))
(declare (ignorable #',*failure-continuation))
(let (,@form-rebinder ,@vars)
,@(when form-rebinder `((declare (ignorable ,*form))))
(funcall (block ,*m%point
(multiple-value-call ,matcher (funcall ,*form))
#'(lambda () ,ifmatches))))))))
(define-abbrevs ifm ifmatch)
(defmacro ematch (exp &rest clauses)
`(match ,exp ,@clauses (* (error "match-failed"))))
......@@ -361,7 +361,7 @@ or otherwise the IFFAILS form in the calling lexical environment."
(if (null clauses)
`(m%fail)
`(flet ((,*failure-continuation () (m%or ,@(cdr clauses))))
#+(or cmu sbcl) (declare (ignorable #',*failure-continuation))
(declare (ignorable #',*failure-continuation))
(funcall (block ,*m%point ,(car clauses) (m%succeed))))))
; These two don't seem to be very popular:
......@@ -567,7 +567,7 @@ Nobody reported using the matcher --
ML/Erlang style pattern matching seemingly isn't popular with LISP hackers.
In any case, though the general design is what I want,
the current pattern matcher is still not elaborate enough
for the tricks I intended when I wrote that scheme code in the tunes cvs.
for the tricks I intended when I wrote that scheme code.
" |#
#+DO-TEST
......
#+xcvb (module (:depends-on nil))
#+xcvb (module ())
(in-package #:cl-user)
......@@ -21,7 +21,6 @@
#:pattern-matcher
#:merge-matcher-variables
#:m%and #:m%fail #:m%when #:m%values)
#-:allegro-v5.0
(:documentation
"Lisp2-style Erlang/ML-like Pattern-Matcher for Common LISP")
(:export))
......@@ -29,7 +28,6 @@
(defpackage #:fare-quasiquote
(:use #:fare-matcher #:fare-utils #:common-lisp)
(:shadow #:list #:append #:list* #:cons #:quote #:kwote #:quotep #:vector #:make-vector)
#-:allegro-v5.0
(:documentation
"Quasiquote implementation with and for pattern-matching")
(:export #:quasiquote-expand #:quasiquote #:unquote #:unquote-splicing
......@@ -38,7 +36,6 @@
(defpackage #:fare-clos-match
#+openmcl (:shadowing-import-from #:ccl #:quit)
(:use #:common-lisp #:fare-utils #:fare-matcher
#+cmu #:pcl #+sbcl #:sb-mop #+clisp :clos #+openmcl #:ccl)
#+cmu #:pcl #+sbcl #:sb-mop #+clisp :clos #+clozure #:ccl)
(:export #:simple-load-form #:class-initarg-to-slot
#:instance
))
#:instance))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment