Subject: Re: CL-UNIFICATION as a library (Re: Qi Seems Great)
From: rpw3@rpw3.org (Rob Warnock)
Date: Tue, 05 May 2009 21:46:35 -0500
Newsgroups: comp.lang.lisp
Message-ID: <JIadnXuHsa-WZ53XnZ2dnUVZ_uidnZ2d@speakeasy.net>
<anonymous.c.lisper@gmail.com> wrote:
+---------------
| (defun symbol-tree<-list-tree (symbol-tree)
|   (list-tree<-id-tree (id-tree<-object-tree (object-tree<-symbol-tree
| symbol-tree))))
| 
| I start with a 'symbol tree' and I end up with a 'list tree'.
| The program actually flows from right to left and bottom to top, so i
| read it like that.
+---------------

If that bothers you, you can do your own manual A-normalization
[equivalent to SSA, in this particular case] using LET*:

    (defun symbol-tree<-list-tree (symbol-tree)
      (let* ((obj-tree (object-tree<-symbol-tree symbol-tree))
	     (id-tree (id-tree<-object-tree obj-tree))
	     (list-tree (list-tree<-id-tree id-tree)))
	list-tree))

Hmmm... That makes it clear the function should have been named
either LIST-TREE<-SYMBOL-TREE or SYMBOL-TREE->LIST-TREE or maybe
just SYMBOL-TREE-TO-LIST-TREE.  ;-}


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607