node-list-filter-by-gi

Name

node-list-filter-by-gi -- Returns selected elements from a node list

Synopsis

(node-list-filter-by-gi nodelist gilist)

Description

Returns a node list containing all the nodes from nodelist whose GIs are members of gilist. The order of nodes in the node list is preserved.

Author

Norman Walsh, <ndw@nwalsh.com>

Source Code

(define (node-list-filter-by-gi nodelist gilist)
  ;; Returns selected elements from a node list
  (let loop ((result (empty-node-list)) (nl nodelist))
    (if (node-list-empty? nl)
	result
	(if (member (gi (node-list-first nl)) gilist)
	    (loop (node-list result (node-list-first nl)) 
		  (node-list-rest nl))
	    (loop result (node-list-rest nl))))))