;;; File: fix-status-modification.lisp
;;; Susan Williams, September, 1995 at Waterloo
;;; Last saved in emacs: Time-stamp: <95/09/12 12:04:24 swilliam>

;;; This file contains a temporary fix for the following problem: The
;;; inquiry for the system STATUS-MODIFICATION seems to depende on
;;; being the last one called, which is not always the case.  The
;;; solution: Make the input specifications for this system such that
;;; it will always be the last one fired.  Whether or not this is
;;; theoreticall motivated is up to John Bateman.

(in-package :penman)

(system
 :name STATUS-MODIFICATION
 :inputs (and NOMINAL
	      (or primary-classification
		  primary-nonclassification)
	      (or size-modified
		  not-size-modified)
	      (or provenance-modified
		  nonprovenance-modified)
	      (or age-modified
		  not-age-modified)
	      (or colour-modified
		  not-colour-modified))
 :outputs ((0.5 STATUS-MODIFIED (INSERT STATUS)
		(PRESELECT STATUS ADJECTIVAL-GROUP))
	   (0.5 NOT-STATUS-MODIFIED))
 :chooser STATUS-MODIFICATION-CHOOSER
 :selector CHOICE-MASTER
 :old-feature NOT-STATUS-MODIFIED
 :region EPITHET
 :metafunction IDEATIONAL)

;;; Sample SPL:
(defvar sample-fix-status-modification-spl
 '(surg / abstraction
	:lex surgery
	:material-property-ascription (repl / abstraction
					    :lex replacement)
	:number mass))
;;; "Replacement surgery."

;;; Note: Before this patch, kpml would return "Replacement
;;; replacement surgery."  Penman returned the correct answer because
;;; SYSTEM-MODIFICATION was being fired last anyway.
