Re: Problem adjusting the implementation of 'partition'

2010-11-23 Thread Benny Tsai
Glad I was able to help :)

On Nov 23, 12:53 am, Stefan Rohlfing 
wrote:
> Fantastic! Thanks again!
>
> On Nov 23, 3:50 pm, Benny Tsai  wrote:
>
>
>
>
>
>
>
> > Indeed there is :)
>
> >http://clojuredocs.org/clojure_core/clojure.core/cycle
>
> > On Nov 23, 12:37 am, Stefan Rohlfing 
> > wrote:
>
> > > Hi Benny,
>
> > > Your solution is much more elegant and flexible as my hacking of the
> > > core function!
>
> > > How would you implement 'pad-padding' (I like this name) if every item
> > > of the padding should be repeated in order, not only the last one?
>
> > > (defn pad-padding [padding]
> > >   (concat padding (repeat padding)))
>
> > > does not work because of the additional parentheses around 'padding'.
>
> > > Is there a function that circles through the elements of a coll such
> > > as:
>
> > > (take 10 (circle [1 2 3]))
> > > ;; (1 2 3 1 2 3 1 2 3 1)
>
> > > Stefan
>
> > > On Nov 23, 3:17 pm, Benny Tsai  wrote:
>
> > > > Since (repeat) returns a lazy sequence, and partition will only take
> > > > as many as is needed, I think you don't even have to specify how many
> > > > times to repeat:
>
> > > > user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
> > > > ((1 2 3) (4 5 6) (7 "a" "a"))
>
> > > > And if the desired behavior is to repeat the last element of provided
> > > > padding as many times as necessary, you could do it with a little
> > > > helper function:
>
> > > > (defn pad-padding [padding]
> > > >   (concat padding (repeat (last padding
>
> > > > user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
> > > > ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> > > > On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
>
> > > > > Hi,
>
> > > > > while not having looked at your code, partition does what you want:
>
> > > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> > > > > ((1 2 3) (4 5 6) (7 "a" "a"))
> > > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> > > > > ((1 2 3) (4 5 6) (7 8 "a"))
> > > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> > > > > ((1 2 3) (4 5 6) (7 8 9))
> > > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> > > > > ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> > > > > (Note: the 3 in repeat is not strictily necessary. 2 would be
> > > > > sufficient)
>
> > > > > Sincerely
> > > > > Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Stefan Rohlfing
Fantastic! Thanks again!

On Nov 23, 3:50 pm, Benny Tsai  wrote:
> Indeed there is :)
>
> http://clojuredocs.org/clojure_core/clojure.core/cycle
>
> On Nov 23, 12:37 am, Stefan Rohlfing 
> wrote:
>
>
>
>
>
>
>
> > Hi Benny,
>
> > Your solution is much more elegant and flexible as my hacking of the
> > core function!
>
> > How would you implement 'pad-padding' (I like this name) if every item
> > of the padding should be repeated in order, not only the last one?
>
> > (defn pad-padding [padding]
> >   (concat padding (repeat padding)))
>
> > does not work because of the additional parentheses around 'padding'.
>
> > Is there a function that circles through the elements of a coll such
> > as:
>
> > (take 10 (circle [1 2 3]))
> > ;; (1 2 3 1 2 3 1 2 3 1)
>
> > Stefan
>
> > On Nov 23, 3:17 pm, Benny Tsai  wrote:
>
> > > Since (repeat) returns a lazy sequence, and partition will only take
> > > as many as is needed, I think you don't even have to specify how many
> > > times to repeat:
>
> > > user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
> > > ((1 2 3) (4 5 6) (7 "a" "a"))
>
> > > And if the desired behavior is to repeat the last element of provided
> > > padding as many times as necessary, you could do it with a little
> > > helper function:
>
> > > (defn pad-padding [padding]
> > >   (concat padding (repeat (last padding
>
> > > user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
> > > ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> > > On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
>
> > > > Hi,
>
> > > > while not having looked at your code, partition does what you want:
>
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> > > > ((1 2 3) (4 5 6) (7 "a" "a"))
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> > > > ((1 2 3) (4 5 6) (7 8 "a"))
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> > > > ((1 2 3) (4 5 6) (7 8 9))
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> > > > ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> > > > (Note: the 3 in repeat is not strictily necessary. 2 would be
> > > > sufficient)
>
> > > > Sincerely
> > > > Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Benny Tsai
Indeed there is :)

http://clojuredocs.org/clojure_core/clojure.core/cycle

On Nov 23, 12:37 am, Stefan Rohlfing 
wrote:
> Hi Benny,
>
> Your solution is much more elegant and flexible as my hacking of the
> core function!
>
> How would you implement 'pad-padding' (I like this name) if every item
> of the padding should be repeated in order, not only the last one?
>
> (defn pad-padding [padding]
>   (concat padding (repeat padding)))
>
> does not work because of the additional parentheses around 'padding'.
>
> Is there a function that circles through the elements of a coll such
> as:
>
> (take 10 (circle [1 2 3]))
> ;; (1 2 3 1 2 3 1 2 3 1)
>
> Stefan
>
> On Nov 23, 3:17 pm, Benny Tsai  wrote:
>
>
>
>
>
>
>
> > Since (repeat) returns a lazy sequence, and partition will only take
> > as many as is needed, I think you don't even have to specify how many
> > times to repeat:
>
> > user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
> > ((1 2 3) (4 5 6) (7 "a" "a"))
>
> > And if the desired behavior is to repeat the last element of provided
> > padding as many times as necessary, you could do it with a little
> > helper function:
>
> > (defn pad-padding [padding]
> >   (concat padding (repeat (last padding
>
> > user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
> > ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> > On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
>
> > > Hi,
>
> > > while not having looked at your code, partition does what you want:
>
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> > > ((1 2 3) (4 5 6) (7 "a" "a"))
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> > > ((1 2 3) (4 5 6) (7 8 "a"))
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> > > ((1 2 3) (4 5 6) (7 8 9))
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> > > ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> > > (Note: the 3 in repeat is not strictily necessary. 2 would be
> > > sufficient)
>
> > > Sincerely
> > > Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Stefan Rohlfing
Hi Benny,

This implementation looks great!

If I could only find out what went wrong with my (not so elegant)
solution...

Stefan

On Nov 23, 3:30 pm, Benny Tsai  wrote:
> Or, to put it all together into a modified partition:
>
> (defn my-partition
>   ([n coll]
>      (partition n n coll))
>   ([n step coll]
>      (partition n step coll))
>   ([n step pad coll]
>      (let [expanded-pad (concat pad (repeat (last pad)))]
>        (partition n step expanded-pad coll
>
> user=> (my-partition 4 4 ["a" "b"] [1 2 3 4 5 6 7 8 9])
> ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> On Nov 23, 12:25 am, Benny Tsai  wrote:
>
>
>
>
>
>
>
> > Sorry, pad-padding is a terrible name choice on my part :)  Maybe
> > something like "repeat-last" would be at least a little bit better.
>
> > On Nov 23, 12:17 am, Benny Tsai  wrote:
>
> > > Since (repeat) returns a lazy sequence, and partition will only take
> > > as many as is needed, I think you don't even have to specify how many
> > > times to repeat:
>
> > > user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
> > > ((1 2 3) (4 5 6) (7 "a" "a"))
>
> > > And if the desired behavior is to repeat the last element of provided
> > > padding as many times as necessary, you could do it with a little
> > > helper function:
>
> > > (defn pad-padding [padding]
> > >   (concat padding (repeat (last padding
>
> > > user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
> > > ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> > > On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
>
> > > > Hi,
>
> > > > while not having looked at your code, partition does what you want:
>
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> > > > ((1 2 3) (4 5 6) (7 "a" "a"))
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> > > > ((1 2 3) (4 5 6) (7 8 "a"))
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> > > > ((1 2 3) (4 5 6) (7 8 9))
> > > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> > > > ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> > > > (Note: the 3 in repeat is not strictily necessary. 2 would be
> > > > sufficient)
>
> > > > Sincerely
> > > > Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Stefan Rohlfing
Hi Benny,

Your solution is much more elegant and flexible as my hacking of the
core function!

How would you implement 'pad-padding' (I like this name) if every item
of the padding should be repeated in order, not only the last one?

(defn pad-padding [padding]
  (concat padding (repeat padding)))

does not work because of the additional parentheses around 'padding'.

Is there a function that circles through the elements of a coll such
as:

(take 10 (circle [1 2 3]))
;; (1 2 3 1 2 3 1 2 3 1)

Stefan

On Nov 23, 3:17 pm, Benny Tsai  wrote:
> Since (repeat) returns a lazy sequence, and partition will only take
> as many as is needed, I think you don't even have to specify how many
> times to repeat:
>
> user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
> ((1 2 3) (4 5 6) (7 "a" "a"))
>
> And if the desired behavior is to repeat the last element of provided
> padding as many times as necessary, you could do it with a little
> helper function:
>
> (defn pad-padding [padding]
>   (concat padding (repeat (last padding
>
> user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
> ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
>
>
>
>
>
>
>
> > Hi,
>
> > while not having looked at your code, partition does what you want:
>
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> > ((1 2 3) (4 5 6) (7 "a" "a"))
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> > ((1 2 3) (4 5 6) (7 8 "a"))
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> > ((1 2 3) (4 5 6) (7 8 9))
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> > ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> > (Note: the 3 in repeat is not strictily necessary. 2 would be
> > sufficient)
>
> > Sincerely
> > Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Benny Tsai
Or, to put it all together into a modified partition:

(defn my-partition
  ([n coll]
 (partition n n coll))
  ([n step coll]
 (partition n step coll))
  ([n step pad coll]
 (let [expanded-pad (concat pad (repeat (last pad)))]
   (partition n step expanded-pad coll

user=> (my-partition 4 4 ["a" "b"] [1 2 3 4 5 6 7 8 9])
((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))

On Nov 23, 12:25 am, Benny Tsai  wrote:
> Sorry, pad-padding is a terrible name choice on my part :)  Maybe
> something like "repeat-last" would be at least a little bit better.
>
> On Nov 23, 12:17 am, Benny Tsai  wrote:
>
>
>
>
>
>
>
> > Since (repeat) returns a lazy sequence, and partition will only take
> > as many as is needed, I think you don't even have to specify how many
> > times to repeat:
>
> > user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
> > ((1 2 3) (4 5 6) (7 "a" "a"))
>
> > And if the desired behavior is to repeat the last element of provided
> > padding as many times as necessary, you could do it with a little
> > helper function:
>
> > (defn pad-padding [padding]
> >   (concat padding (repeat (last padding
>
> > user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
> > ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> > On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
>
> > > Hi,
>
> > > while not having looked at your code, partition does what you want:
>
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> > > ((1 2 3) (4 5 6) (7 "a" "a"))
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> > > ((1 2 3) (4 5 6) (7 8 "a"))
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> > > ((1 2 3) (4 5 6) (7 8 9))
> > > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> > > ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> > > (Note: the 3 in repeat is not strictily necessary. 2 would be
> > > sufficient)
>
> > > Sincerely
> > > Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Benny Tsai
Sorry, pad-padding is a terrible name choice on my part :)  Maybe
something like "repeat-last" would be at least a little bit better.

On Nov 23, 12:17 am, Benny Tsai  wrote:
> Since (repeat) returns a lazy sequence, and partition will only take
> as many as is needed, I think you don't even have to specify how many
> times to repeat:
>
> user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
> ((1 2 3) (4 5 6) (7 "a" "a"))
>
> And if the desired behavior is to repeat the last element of provided
> padding as many times as necessary, you could do it with a little
> helper function:
>
> (defn pad-padding [padding]
>   (concat padding (repeat (last padding
>
> user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
> ((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))
>
> On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
>
>
>
>
>
>
>
> > Hi,
>
> > while not having looked at your code, partition does what you want:
>
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> > ((1 2 3) (4 5 6) (7 "a" "a"))
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> > ((1 2 3) (4 5 6) (7 8 "a"))
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> > ((1 2 3) (4 5 6) (7 8 9))
> > user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> > ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> > (Note: the 3 in repeat is not strictily necessary. 2 would be
> > sufficient)
>
> > Sincerely
> > Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Benny Tsai
Since (repeat) returns a lazy sequence, and partition will only take
as many as is needed, I think you don't even have to specify how many
times to repeat:

user=> (partition 3 3 (repeat "a") [1 2 3 4 5 6 7])
((1 2 3) (4 5 6) (7 "a" "a"))

And if the desired behavior is to repeat the last element of provided
padding as many times as necessary, you could do it with a little
helper function:

(defn pad-padding [padding]
  (concat padding (repeat (last padding

user=> (partition 4 4 (pad-padding ["a" "b"]) [1 2 3 4 5 6 7 8 9])
((1 2 3 4) (5 6 7 8) (9 "a" "b" "b"))

On Nov 23, 12:05 am, Meikel Brandmeyer  wrote:
> Hi,
>
> while not having looked at your code, partition does what you want:
>
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> ((1 2 3) (4 5 6) (7 "a" "a"))
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> ((1 2 3) (4 5 6) (7 8 "a"))
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> ((1 2 3) (4 5 6) (7 8 9))
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> (Note: the 3 in repeat is not strictily necessary. 2 would be
> sufficient)
>
> Sincerely
> Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Stefan Rohlfing
Hi Meikel,

What I want to accomplish is to have the function 'fill the gap' if
not enough padding is supplied.

With the standard 'partition' function this does not work, as it only
adds as much padding as provided:

(partition 3 3 ["a"] [1 2 3 4 5 6 7 8 9 10])
;; ((1 2 3) (4 5 6) (7 8 9) (10 "a"))

I thought my implementation would solve this problem, but
unfortunately there is some bug in the code I haven't been able to
find.

Stefan


On Nov 23, 3:05 pm, Meikel Brandmeyer  wrote:
> Hi,
>
> while not having looked at your code, partition does what you want:
>
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
> ((1 2 3) (4 5 6) (7 "a" "a"))
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
> ((1 2 3) (4 5 6) (7 8 "a"))
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
> ((1 2 3) (4 5 6) (7 8 9))
> user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
> ((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))
>
> (Note: the 3 in repeat is not strictily necessary. 2 would be
> sufficient)
>
> Sincerely
> Meikel

-- 
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


Re: Problem adjusting the implementation of 'partition'

2010-11-22 Thread Meikel Brandmeyer
Hi,

while not having looked at your code, partition does what you want:

user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7])
((1 2 3) (4 5 6) (7 "a" "a"))
user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8])
((1 2 3) (4 5 6) (7 8 "a"))
user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9])
((1 2 3) (4 5 6) (7 8 9))
user=> (partition 3 3 (repeat 3 "a") [1 2 3 4 5 6 7 8 9 10])
((1 2 3) (4 5 6) (7 8 9) (10 "a" "a"))

(Note: the 3 in repeat is not strictily necessary. 2 would be
sufficient)

Sincerely
Meikel

-- 
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