I updated the example with a larger replacement sequence to hopefully
prevent that confusion in the future.

You can also use srange to eliminate subsequences, e.g.:

(setval (srange 4 7) nil [:a :b :c :d :e :f :g :h :i])
=> [:a :b :c :d :h :i]

And the navigator to prepend to a sequence is just selecting the empty
subsequence at the beginning:

(def BEGINNING (srange 0 0))
(setval BEGINNING [:a :b] '(1 2 3))
=> (:a :b 1 2 3)


On Fri, Jan 29, 2016 at 10:27 AM, Alan Thompson <clooj...@gmail.com> wrote:

> Oh!  I never even suspected that!  So you are replacing a length-2
> subsequence with a length-3 subsequence.  Very flexible.
>
> It might be useful to point out that feature in the docs.   :)
>
> Alan
>
>
> On Thu, Jan 28, 2016 at 10:49 PM, Nathan Marz <nat...@nathanmarz.com>
> wrote:
>
>> Both of those examples use half-open intervals :) The first selects the
>> subsequence with indices 1,2,3, and the second selects the subsequence with
>> indices 2,3. You can see in the second example that [2 3] in the overall
>> sequence is replaced by [-1 -1 -1].
>>
>> On Thu, Jan 28, 2016 at 9:10 PM, Alan Thompson <clooj...@gmail.com>
>> wrote:
>>
>>> Looks great, Nathan.  I also highly enjoyed your recent interview on the
>>> Cognitect podcast  <http://blog.cognitect.com/cognicast/095>.
>>>
>>> One quick question:  In the first example below from the README
>>> (verified at the repl), it seems that the (srange ...) function
>>> sometimes behaves as a half-open interval [1,4) like the (range ...)
>>> function in Clojure).  However, in the 2nd example it seems to behave
>>> as a closed interval [2,4].  Is there an easy way of knowing which behavior
>>> applies in different situations?
>>>
>>> Thanks,
>>> Alan
>>>
>>>
>>> Here's how to increment all the odd numbers between indexes 1
>>> (inclusive) and 4 (exclusive):
>>>
>>> user> (transform [(srange 1 4) ALL odd?] inc [0 1 2 3 4 5 6 7])
>>>
>>> [0 2 2 4 4 5 6 7]
>>>
>>> Here's how to replace the subsequence from index 2 to 4 with [-1 -1 -1]:
>>>
>>> user> (setval (srange 2 4) [-1 -1 -1] [0 1 2 3 4 5 6 7 8 9])
>>>
>>> [0 1 -1 -1 -1 4 5 6 7 8 9]
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thu, Jan 28, 2016 at 4:11 PM, Jean Baro <jfb...@gmail.com> wrote:
>>>
>>>>
>>>> Congratulations for the spectacular work and thanks for sharing this
>>>> with the world.
>>>>
>>>> --
>>>> 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
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to clojure+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> 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
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "Clojure" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/clojure/XePZ-WSviso/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> clojure+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Twitter: @nathanmarz
>> http://nathanmarz.com
>>
>> --
>> 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
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> 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
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "Clojure" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/clojure/XePZ-WSviso/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Twitter: @nathanmarz
http://nathanmarz.com

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to