Browse Source

Reorganize Expression Classification

Samuel W. Flint 6 years ago
parent
commit
b0026c98d6
1 changed files with 24 additions and 8 deletions
  1. 24 8
      symbolic-sat.org

+ 24 - 8
symbolic-sat.org

@@ -265,7 +265,7 @@ This is organized as follows: handler storage, a recipe for handler definition,
       (dispatch-solution (non-atomic-add new unchecked) (cons new current-path))))
 #+END_SRC
 
-* TODO Expression Classification
+* WORKING Expression Classification [0/8]
 :PROPERTIES:
 :ID:       98ce9388-02b2-4027-aa4e-0a82ef8e3cbd
 :END:
@@ -277,6 +277,23 @@ This is organized as follows: handler storage, a recipe for handler definition,
 
   (defvar *types* '())
 
+  <<expression-type-definition>>
+
+  <<expression-type-checking>>
+
+  <<not-classification>>
+  <<and-classification>>
+  <<or-classification>>
+  <<implication-classification>>
+  <<bicond-classification>>
+  <<atom-classification>>
+#+END_SRC
+
+** TODO Expression Type Definition
+
+#+Caption: Expression Type Definition
+#+Name: expression-type-definition
+#+BEGIN_SRC lisp 
   (defmacro define-expression-type (type-name &rest predicate)
     (check-type type-name symbol)
     (let ((predicate-name (symbolicate type-name '-p)))
@@ -286,19 +303,18 @@ This is organized as follows: handler storage, a recipe for handler definition,
          (pushnew '(,type-name . ,predicate-name) *types* :key #'first :test #'equal)
          (export ',type-name)
          ',type-name)))
+#+END_SRC
+
+** TODO Expresion Type Checking
 
+#+Caption: Expression Type Checking
+#+Name: expression-type-checking
+#+BEGIN_SRC lisp 
   (defun expression-type-p (expression-type expression)
     (if (eq '* expression-type)
         t
         (funcall (cdr (assoc expression-type *types*))
                  expression)))
-
-  <<not-classification>>
-  <<and-classification>>
-  <<or-classification>>
-  <<implication-classification>>
-  <<bicond-classification>>
-  <<atom-classification>>
 #+END_SRC
 
 ** TODO Not