Add tags

Add tags to the following comment
>(setf env (gen-family-relation pair-lst '()))
((Z C)(Y Z)(D X)(C D E)(B C)(A B F))
>(query 'A env)
(A (B (C (D X) E)) F)
>(query 'Y env)
(Y (Z (C (D X) E)))
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(setf pair-lst '((a  b)
                 (b  c)
                 (c  d)
                 (c  e)
                 (a  f)
                 (d  x)
                 (y  z)
                 (z  c) ))

(defun gen-family-relation (list env)
  (let ( node result )
    (dolist (x list result)
        (setf node (assoc (car x) env))
        (if node
            (setf (cdr node) (append (cdr node) (cdr x)))
            (push x env) )
        (setf result env) )))

(defun query (s env)
  (let ((node (assoc s env)))
    (if node
        (cons (car node)(mapcar #'(lambda (x)(query x env)) (cdr node)))
        s)))

Add tags

The input will be splited to tags with space.

Index

Feed

Other

Link

Pathtraq

loading...