Works fine for me. Here it is in a leiningen REPL session:

$ lein repl
REPL started; server listening on localhost port 53116

user=> (defn skeleton
  [tree]
    (map skeleton (filter seq? tree)))
#'user/skeleton

user=> (def test_data1 '(1 (2 3) ( ) (( )) :a))
#'user/test_data1

user=> (skeleton test_data1)
(() () (()))

The recursion ends when the tree argument contains no subsequences, in which 
case filter returns an empty sequence and you are mapping skeleton down nothing 
(so it doesn't get called).

 -Lee


On Sep 8, 2011, at 2:35 PM, octopusgrabbus wrote:

> Lee:
> 
> I tried 
> 
> (defn skeleton
>   [tree]
>     (map skeleton (filter seq? tree)))
> 
> with
> 
> (def test_data1 '(1 (2 3) ( ) (( )) :a))
> 
> and got a Java out of memory error.
> 
> Where is the condition end recursion condition?
> 
> tnx
> cmn
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

--
Lee Spector, Professor of Computer Science
Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspec...@hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to