Tue Mar 13 15:29:16 UTC 2012 mantoniotti@common-lisp.net * Added TIMESTAMP. Tue Mar 13 15:28:28 UTC 2012 mantoniotti@common-lisp.net * Copyright updated. Tue Mar 13 15:28:15 UTC 2012 mantoniotti@common-lisp.net * Copyright updated. Thu Jun 16 00:10:47 UTC 2011 mantoniotti@common-lisp.net * Added "CL-UNIFICATION" as package nickname to match the .asd and .system specs. Sat Apr 2 04:39:32 UTC 2011 rbrown@common-lisp.net * Use *unify-string-case-sensitive-p* consistently. Change the documentation. Sat Apr 2 04:19:09 UTC 2011 rbrown@common-lisp.net * match-block.lisp: Use &body in match-case and matchf-case so code that uses them is correctly indented by editors. Sat Apr 2 04:16:51 UTC 2011 mantoniotti@common-lisp.net * Copyright updated. Sat Apr 2 04:11:54 UTC 2011 mantoniotti@common-lisp.net * Updated copyright info and a News. Sat Apr 2 04:09:17 UTC 2011 mantoniotti@common-lisp.net * ChangeLog updated. Sat Apr 2 04:08:13 UTC 2011 mantoniotti@common-lisp.net * Remove Thumbs.db and friends Sat Apr 2 04:05:30 UTC 2011 mantoniotti@common-lisp.net * Exported a few more symbols. Sat Apr 2 04:05:18 UTC 2011 mantoniotti@common-lisp.net * Minor changes (added COPYING information and other minutiae). Sat Apr 2 04:01:24 UTC 2011 mantoniotti@common-lisp.net * Changed some environment functions and improved the DUMP-* ones. Sat Apr 2 03:51:38 UTC 2011 mantoniotti@common-lisp.net * Acknowledgements updated. Sat Apr 2 03:50:19 UTC 2011 rbrown@common-lisp.net * Delete trailing whitespace. In lambda-list-parsing.lisp this fixes a bug with ~@ format directives. Sat Apr 2 02:51:32 UTC 2011 rbrown@common-lisp.net * unifier.lisp: Allow vectors to unify with sequence templates. test/unification-tests.lisp: new test to verify the change Sat Apr 2 02:49:30 UTC 2011 rbrown@common-lisp.net * Add entry for cl-unification-test.asd. Sat Apr 2 02:47:50 UTC 2011 rbrown@common-lisp.net * Add cl-unification-test.asd Make (asdf:test-system 'cl-unification) work. Sat Apr 2 02:37:58 UTC 2011 rbrown@common-lisp.net * Make sure that classes referenced in #T forms are defined before the forms are read. This fixes compilation of file unification-tests.lisp. Tue Mar 29 23:22:33 UTC 2011 mantoniotti@common-lisp.net * Copyright dates updated. Tue Mar 29 23:20:53 UTC 2011 mantoniotti@common-lisp.net * ChangeLog updated. Tue Mar 29 22:59:37 UTC 2011 mantoniotti@common-lisp.net * Added debugging functions DUMP-FRAME and DUMP-ENVIRONMENT. Tue Jun 15 03:21:37 UTC 2010 pix@kepibu.org * Pull variable binding out of %match-expander I'd like to tell you this is part of a plan to simplify %match-expander, but in all honesty, the only reason I'm doing it is because I found myself thinking with-unification-variables would be a handy macro while working on a private extension to cl-unification, and I didn't want to duplicate the code. Sun Feb 7 08:42:39 UTC 2010 pix@kepibu.org * Marginally more straightforward? Sun Feb 7 07:40:23 UTC 2010 pix@kepibu.org * Declare ftype of find-variable-value and v? properly Sun Feb 7 07:33:38 UTC 2010 pix@kepibu.org * Fix export of lib-dependent symbols diff -rN -u old-cl-unification-1/ACKNOWLEDGEMENTS new-cl-unification-1/ACKNOWLEDGEMENTS --- old-cl-unification-1/ACKNOWLEDGEMENTS 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/ACKNOWLEDGEMENTS 2013-07-25 02:31:04.000000000 +0000 @@ -7,6 +7,7 @@ fixes. Boldyrev, Ivan +Brown, Robert Korablin, Vladimir V. Leuner, John McManus, Russell diff -rN -u old-cl-unification-1/COPYING new-cl-unification-1/COPYING --- old-cl-unification-1/COPYING 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/COPYING 2013-07-25 02:31:04.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (c) 2004-2009 Marco Antoniotti +Copyright (c) 2004-2012 Marco Antoniotti All rights reserved. Permission is hereby granted, without written agreement and without diff -rN -u old-cl-unification-1/ChangeLog new-cl-unification-1/ChangeLog --- old-cl-unification-1/ChangeLog 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/ChangeLog 2013-07-25 02:31:04.000000000 +0000 @@ -1,3 +1,103 @@ +2011-03-28 Robert Brown + + * match-block.lisp: Use &body in match-case and matchf-case so + code that uses them is correctly indented by editors. + +2011-02-27 author + + * .cvsignore: Updated. + + * docs/html/images/Thumbs.db, docs/html/images/Thumbs.db:encryptable: + Removed Files: + Thumbs.db Thumbs.db:encryptable + +2011-02-26 author + + * .cvsignore: Updated. + + * variables.lisp, unifier.lisp: + Minor changes (added COPYING information and other minutiae). + + * unification-package.lisp: Exported a few more symbols. + + * templates-hierarchy.lisp: + Minor changes (added COPYING information and other minutiae). + + * substitutions.lisp: + Changed some environment functions and improved the DUMP-* ones. + + * match-block.lisp, lambda-list-parsing.lisp, cl-unification.system, cl-unification.asd, cl-unification-lib.asd, apply-substitution.lisp: + Minor changes (added COPYING information and other minutiae). + + * ACKNOWLEDGEMENTS: Acknowledgements updated. + +2011-02-24 author + + * ChangeLog, apply-substitution.lisp, cl-unification.system, lambda-list-parsing.lisp, lib-dependent/cl-ppcre-template.lisp, match-block.lisp, templates-hierarchy.lisp, unifier.lisp: + Delete trailing whitespace. In lambda-list-parsing.lisp this fixes a bug + with ~@ format directives. + + * ChangeLog, test/unification-tests.lisp, unifier.lisp: + unifier.lisp: Allow vectors to unify with sequence templates. + test/unification-tests.lisp: new test to verify the change + +2011-02-24 Robert Brown + + * lambda-list-parsing.lisp: Delete trailing whitespace that turned + ~@ into a bogus format directive by converting it into + ~@ + + * unifier.lisp, apply-substitution.lisp, cl-unification.system + * match-block.lisp, templates-hierarchy.lisp, unifier.lisp + * lib-dependent/cl-ppcre-template.lisp: delete trailing whitespace + +2011-02-24 Robert Brown + + * unifier.lisp: Allow vectors to unify with sequence templates. + * test/unification-tests.lisp: new test to verify the change + +2011-02-16 Robert Brown + + * cl-unification.asd: Add support for asdf:test-system. + + * cl-unification-test.asd: File added. + +2011-01-18 author + + * unifier.lisp: + After a careful reading of PAIP fixed a very subtle bug in VAR-UNIFY + that prevented the correct unification of: + + (?x ?y a) + + with + + (?y ?x ?x) + + * substitutions.lisp: + Added debugging functions DUMP-FRAME and DUMP-ENVIRONMENT. + + * .cvsignore: Added .cvsignore file. + +2009-12-17 author + + * ChangeLog: ChangeLog updated. + + * lib-dependent/cl-ppcre-template.asd: Initial checkin. + + * lib-dependent/cl-ppcre-template.lisp: + Patched to use Cl-PPCRE:SCAN-TO-STRINGS (thanks to Pixel // pinterface [a] gmail dot com). + + * unifier.lisp: Minor cosmetic changes. + + * unification-package.lisp: Exported MATCHF-CASE. + + * templates-hierarchy.lisp: + Fixed a couple of problems with some accessors in the NUMBER, + STRUCTURE-OBJECT and STANDARD-OBJECT templates. + + * match-block.lisp: Added MATCHF* macros. + 2009-12-17 author * lib-dependent/cl-ppcre-template.asd: Initial checkin. diff -rN -u old-cl-unification-1/README new-cl-unification-1/README --- old-cl-unification-1/README 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/README 2013-07-25 02:31:04.000000000 +0000 @@ -1,6 +1,6 @@ CL-UNIFICATION -Marco Antoniotti (c) 2004-2008 +Marco Antoniotti (c) 2004-2011 The directory containing this file you are reading should contain the code and the documentation of the CL-UNIFICATION package. diff -rN -u old-cl-unification-1/TIMESTAMP new-cl-unification-1/TIMESTAMP --- old-cl-unification-1/TIMESTAMP 1970-01-01 00:00:00.000000000 +0000 +++ new-cl-unification-1/TIMESTAMP 2013-07-25 02:31:04.000000000 +0000 @@ -0,0 +1 @@ +20120116 diff -rN -u old-cl-unification-1/apply-substitution.lisp new-cl-unification-1/apply-substitution.lisp --- old-cl-unification-1/apply-substitution.lisp 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/apply-substitution.lisp 2013-07-25 02:31:04.000000000 +0000 @@ -1,8 +1,10 @@ -;;; -*- Mode: Lisp -*- +;;;; -*- Mode: Lisp -*- -;;; substitutions.lisp -;;; General CL structures unifier. -;;; Substitution definitions. +;;;; apply-substitutions.lisp -- +;;;; General CL structures unifier. +;;;; Substitution definitions. +;;;; +;;;; See the file COPYING for copyright and licensing information. (in-package "CL.EXT.DACF.UNIFICATION") ; DACF = Data And Control Flow. @@ -70,8 +72,8 @@ finally (return (make-frame result-bindings))) into frames finally (return (make-environment :frames frames)))) - - + + ;;; ground-term -- @@ -80,4 +82,4 @@ (apply-substitution substitution term)) -;;; end of file -- apply-substitutions.lisp -- +;;;; end of file -- apply-substitutions.lisp -- diff -rN -u old-cl-unification-1/cl-unification-lib.asd new-cl-unification-1/cl-unification-lib.asd --- old-cl-unification-1/cl-unification-lib.asd 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/cl-unification-lib.asd 2013-07-25 02:31:04.000000000 +0000 @@ -2,6 +2,8 @@ ;;;; cl-unification-lib.asd -- ;;;; ASDF system file. +;;;; +;;;; See file COPYING for copyright and licensing information. (asdf:defsystem :cl-unification-lib :author "Marco Antoniotti" diff -rN -u old-cl-unification-1/cl-unification-test.asd new-cl-unification-1/cl-unification-test.asd --- old-cl-unification-1/cl-unification-test.asd 1970-01-01 00:00:00.000000000 +0000 +++ new-cl-unification-1/cl-unification-test.asd 2013-07-25 02:31:04.000000000 +0000 @@ -0,0 +1,31 @@ +;;;; cl-unification-test.asd + + +(in-package #:asdf) + +;; Tests implemented using the ptester framework are run at *load* time, so +;; we tell ASDF that loading a file containing ptester code is never done. +;; This causes ASDF to run all the tests whenever ASDF:LOAD-SYSTEM or +;; ASDF:TEST-SYSTEM is called with argument CL-UNIFICATION-TEST. + +(defclass ptester-source-file (cl-source-file) + () + (:documentation "A Common Lisp source file containing ptester code.")) + +(defmethod operation-done-p ((operation load-op) (component ptester-source-file)) + nil) + + +(in-package #:common-lisp-user) + +(defpackage #:cl-unification-test-system + (:use #:common-lisp #:asdf)) + +(in-package #:cl-unification-test-system) + +(defsystem #:cl-unification-test + :depends-on (:cl-unification :ptester) + :components + ((:module "test" + :components + ((:ptester-source-file "unification-tests"))))) diff -rN -u old-cl-unification-1/cl-unification.asd new-cl-unification-1/cl-unification.asd --- old-cl-unification-1/cl-unification.asd 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/cl-unification.asd 2013-07-25 02:31:04.000000000 +0000 @@ -1,10 +1,8 @@ ;;;; -*- Mode: Lisp -*- - ;;;; cl-unification.asd -- ;;;; ASDF system file. -;;;;=========================================================================== -;;;; Simple stuff that should be built in ASDF. +;;;; See file COPYING for copyright licensing information. (defpackage "CL-UNIFICATION-SYSTEM" (:use "CL" "ASDF")) @@ -13,12 +11,23 @@ (when (asdf:find-system 'asdf-system-connections nil) (asdf:oos 'asdf:load-op 'asdf-system-connections)) -(defclass asdf-system-definition-file (asdf:cl-source-file) ()) -(defmethod source-file-type ((c asdf-system-definition-file) (s module)) "asd") - +(defclass load-only-file (cl-source-file) + ((last-loaded :accessor load-date :initform nil))) +(defmethod operation-done-p ((op compile-op) (component load-only-file)) + t) +(defmethod perform :around ((op compile-op) (component load-only-file)) + nil) +(defmethod operation-done-p ((op load-op) (component load-only-file)) + (and (load-date component) + (>= (load-date component) (file-write-date (component-pathname component))))) +(defmethod perform ((op load-op) (component load-only-file)) + (prog1 (load (component-pathname component)) + (setf (load-date component) + (file-write-date (component-pathname component))))) (asdf:defsystem :cl-unification :author "Marco Antoniotti" + :in-order-to ((test-op (test-op :cl-unification-test))) :serial t :components ((:file "unification-package") (:file "variables") @@ -28,29 +37,20 @@ (:file "template-reader") (:file "unifier") (:file "match-block") - (:file "apply-substitution") - #+asdf-with-optional-dependencies - (:module "lib-dependent" - :pathname "lib-dependent" - :depends-on ("templates-hierarchy" "unifier") - :components ((:file "cl-ppcre-template" - :depends-on (cl-ppcre)) - )) - #-asdf-with-optional-dependencies - (asdf-system-definition-file - "cl-unification-lib") - )) + (:file "apply-substitution"))) #+asdf-system-connections (asdf:defsystem-connection cl-unification+cl-ppcre :requires (:cl-ppcre :cl-unification) - :components ((:module "lib-dependent" + :components ((:load-only-file "unification-package") + (:module "lib-dependent" :components ((:file "cl-ppcre-template"))))) #+asdf-system-connections (asdf:defsystem-connection cl-unification+named-readtables :requires (:cl-unification :named-readtables) - :components ((:module "lib-dependent" + :components ((:load-only-file "unification-package") + (:module "lib-dependent" :components ((:file "named-readtable"))))) ;;;; end of file -- cl-unification.asd -- diff -rN -u old-cl-unification-1/cl-unification.system new-cl-unification-1/cl-unification.system --- old-cl-unification-1/cl-unification.system 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/cl-unification.system 2013-07-25 02:31:04.000000000 +0000 @@ -3,6 +3,8 @@ ;;;; cl-unification.system -- ;;;; MK:DEFSYSTEM system file. +;;;; See file COPYING for copyright licensing information. + (mk:defsystem "CL-UNIFICATION" :source-extension "lisp" :components ("unification-package" @@ -20,5 +22,5 @@ ) )) )) - + ;;; end of file -- cl-unification.system -- diff -rN -u old-cl-unification-1/docs/html/control-flow.html new-cl-unification-1/docs/html/control-flow.html --- old-cl-unification-1/docs/html/control-flow.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/control-flow.html 2013-07-25 02:31:04.000000000 +0000 @@ -208,7 +208,7 @@
-

News

+ +
@@ -233,7 +234,7 @@ diff -rN -u old-cl-unification-1/docs/html/dictionary.html new-cl-unification-1/docs/html/dictionary.html --- old-cl-unification-1/docs/html/dictionary.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/dictionary.html 2013-07-25 02:31:04.000000000 +0000 @@ -279,7 +279,7 @@ @@ -339,7 +339,7 @@ diff -rN -u old-cl-unification-1/docs/html/downloads.html new-cl-unification-1/docs/html/downloads.html --- old-cl-unification-1/docs/html/downloads.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/downloads.html 2013-07-25 02:31:04.000000000 +0000 @@ -97,7 +97,7 @@
-

News

+
@@ -124,7 +124,7 @@ diff -rN -u old-cl-unification-1/docs/html/index.html new-cl-unification-1/docs/html/index.html --- old-cl-unification-1/docs/html/index.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/index.html 2013-07-25 02:31:04.000000000 +0000 @@ -308,7 +308,7 @@ + @@ -109,7 +110,7 @@ diff -rN -u old-cl-unification-1/docs/html/mailing-lists.html new-cl-unification-1/docs/html/mailing-lists.html --- old-cl-unification-1/docs/html/mailing-lists.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/mailing-lists.html 2013-07-25 02:31:04.000000000 +0000 @@ -55,7 +55,7 @@ @@ -117,7 +117,7 @@ diff -rN -u old-cl-unification-1/docs/html/string-template-class.html new-cl-unification-1/docs/html/string-template-class.html --- old-cl-unification-1/docs/html/string-template-class.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/string-template-class.html 2013-07-25 02:31:04.000000000 +0000 @@ -122,7 +122,7 @@

Affected By:

-

The value of the variable *UNIFY-STRING-CASE-INSENSITIVE-P*.

+

The value of the variable *UNIFY-STRING-CASE-SENSITIVE-P*.

Exceptional Situations:

diff -rN -u old-cl-unification-1/docs/html/templates.html new-cl-unification-1/docs/html/templates.html --- old-cl-unification-1/docs/html/templates.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/templates.html 2013-07-25 02:31:04.000000000 +0000 @@ -173,7 +173,7 @@
-

News

+
@@ -198,7 +198,7 @@ diff -rN -u old-cl-unification-1/docs/html/unification-dictionary.html new-cl-unification-1/docs/html/unification-dictionary.html --- old-cl-unification-1/docs/html/unification-dictionary.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/unification-dictionary.html 2013-07-25 02:31:04.000000000 +0000 @@ -38,7 +38,7 @@
  • Package CL.EXT.DACF.UNIFICATION
  • Generic function UNIFY -
  • Variable *UNIFY-STRING-CASE-INSENSITIVE* +
  • Variable *UNIFY-STRING-CASE-SENSITIVE*
  • Class TEMPLATE
  • Class EXPRESSION-TEMPLATE @@ -106,7 +106,7 @@
    -

    News

    +
    @@ -133,7 +133,7 @@ diff -rN -u old-cl-unification-1/docs/html/unify-function.html new-cl-unification-1/docs/html/unify-function.html --- old-cl-unification-1/docs/html/unify-function.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/unify-function.html 2013-07-25 02:31:04.000000000 +0000 @@ -163,7 +163,7 @@

    Two strings unify only is they are "equal", under the following - condition. If the variable *UNIFY-STRING-CASE-INSENSITIVE-P* is NIL + condition. If the variable *UNIFY-STRING-CASE-SENSITIVE-P* is T (the default) then the two strings s1 and s2 are compared using STRING=, otherwise they are compared using STRING-EQUAL.

    @@ -335,7 +335,7 @@

    See Also:

    MAKE-EMPTY-ENVIRONMENT, UNIFICATION-FAILURE, - *UNIFY-STRING-CASE-INSENSITIVE-P*, OCCURS-IN-P, + *UNIFY-STRING-CASE-SENSITIVE-P*, OCCURS-IN-P, *OCCURENCE-CHECK-P*.

    Notes:

    diff -rN -u old-cl-unification-1/docs/html/unifying-substitutions.html new-cl-unification-1/docs/html/unifying-substitutions.html --- old-cl-unification-1/docs/html/unifying-substitutions.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/unifying-substitutions.html 2013-07-25 02:31:04.000000000 +0000 @@ -162,7 +162,7 @@
    -

    News

    +
    @@ -187,7 +187,7 @@ diff -rN -u old-cl-unification-1/docs/html/usci-variable.html new-cl-unification-1/docs/html/usci-variable.html --- old-cl-unification-1/docs/html/usci-variable.html 2013-07-25 02:31:04.000000000 +0000 +++ new-cl-unification-1/docs/html/usci-variable.html 2013-07-25 02:31:04.000000000 +0000 @@ -1,6 +1,6 @@ - CL Unification: Variable *UNIFY-STRING-CASE-INSENSITIVE-P* + CL Unification: Variable *UNIFY-STRING-CASE-SENSITIVE-P* @@ -11,7 +11,7 @@
    - CL Unification: Variable *UNIFY-STRING-CASE-INSENSITIVE-P* + CL Unification: Variable *UNIFY-STRING-CASE-SENSITIVE-P*