Browse Source

Wrote about handler definition

Samuel W. Flint 6 years ago
parent
commit
e75f229926
1 changed files with 5 additions and 2 deletions
  1. 5 2
      symbolic-sat.org

+ 5 - 2
symbolic-sat.org

@@ -86,7 +86,7 @@ The driver itself is a simple shim on top of the handler dispatch facility.  As
         (sort-atoms solution))))
 #+END_SRC
 
-** WORKING Expression Handlers [0/7]
+** WORKING Expression Handlers [1/7]
 :PROPERTIES:
 :ID:       99e68a1a-b3a4-40c5-9b2e-92d5e976d5bb
 :END:
@@ -109,11 +109,14 @@ This is organized as follows: handler storage, a recipe for handler definition,
   <<doubled-not-handler>>
 #+END_SRC
 
-*** TODO Defining Handlers
+*** DONE Defining Handlers
+CLOSED: [2018-03-23 Fri 21:47]
 :PROPERTIES:
 :ID:       2a90b9c3-585e-4347-89d7-78035e88e681
 :END:
 
+This macro (~define-expression-handler~) takes two arguments, an expression type and a handler body.  It uses the type to create a name for the handler itself, and the defines a function with that name, taking three arguments: the current expression, the list of unchecked expressions and the current path.  It then places the handler body in the function, pushes a single cell of the expression type and the handler name onto the handler storage list, and returns the expression type.
+
 #+Caption: Defining Handlers
 #+Name: defining-handlers
 #+BEGIN_SRC lisp