From cf37c5138205fd23e94e51a099a8d7735651ca8f Mon Sep 17 00:00:00 2001
From: dos-reis <gdr@axiomatics.org>
Date: Wed, 16 Jan 2008 05:50:37 +0000
Subject: 	Fix SF/1850071 	* algebra/syntax.spad (compound?$Syntax): New.

---
 src/ChangeLog           | 5 +++++
 src/algebra/syntax.spad | 6 ++++++
 2 files changed, 11 insertions(+)

(limited to 'src')

diff --git a/src/ChangeLog b/src/ChangeLog
index fafaf259..55fb4d2b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>
+
+	Fix SF/1850071
+	* algebra/syntax.spad (compound?$Syntax): New.
+
 2008-01-15  Gabriel Dos Reis  <gdr@cs.tamu.edu>
 
 	* algebra/boolean.spad.pamphlet (PropositionalLogic): New category.
diff --git a/src/algebra/syntax.spad b/src/algebra/syntax.spad
index d07bad13..5058dcb6 100644
--- a/src/algebra/syntax.spad
+++ b/src/algebra/syntax.spad
@@ -111,6 +111,9 @@ Syntax(): Public == Private where
     getOperands: % -> List %
       ++ getOperands(x) returns the list of operands to the operator in `x'.
 
+    compound?: % -> Boolean
+      ++ compound? x is true when not an atomic syntax.
+
     _case: (%, [|Integer|]) -> Boolean
       ++ x case Integer is true is x really is an Integer 
 
@@ -208,6 +211,9 @@ Syntax(): Public == Private where
       float? op => float op
       string? op => string op
       convert op
+   
+    compound? x ==
+      pair? rep x
 
     getOperands x ==
       s := rep x
-- 
cgit v1.2.3