On Sat, Feb 9, 2013 at 8:25 PM, AtKaaZ <atk...@gmail.com> wrote:

>
>
>
> On Sat, Feb 9, 2013 at 8:22 PM, AtKaaZ <atk...@gmail.com> wrote:
>
>> do you mean that, when the string it outputted  like:
>> => (println k)
>>
>> (012340 1 2 3 4)
>> nil
>> => (prn k)
>>
>> "(012340 1 2 3 4)"
>> nil
>>
>> the side effects of evaluating k being mixed into the output could affect
>> you (other than just visually in the repl) ? if ie. you redirect *out* to
>> some file with the purpose of saving and later restoring that?
>>
>> Well, I don't actually like this myself (ever since I've encountered the
>> map println example I've given) but I ignored it because people didn't seem
>> to find it a big deal and nothing I could do about it + it only affected me
>> in viewing REPL output.
>>
>>
>> But I'm not sure if it is clear to you what is happening (perhaps I
>> misunderstand what you're saying), it's only when showing the value of the
>> string (k in this case) that the text shown is mixed, but the value of k is
>> accurate, as seen below:
>>
>> On Sat, Feb 9, 2013 at 7:30 PM, Conrad <drc...@gmail.com> wrote:
>>
>>> I tested this in the latest 1.5.0-RC6:
>>>
>>> => (def k (pr-str (for [x (range 5)]
>>>                              (do (pr x)
>>>                                   x))))
>>> #'user/k
>>> => k
>>> "(012340 1 2 3 4)"
>>>
>> => (= "[0 1 2 3 4]" k)
>> true
>>
> OOps, I pasted the wrong one here (from the "vec" form)
> But looks like I was wrong, and you were correct!!
>
> => (def k (pr-str (for [x (range 5)]
>                                 (do ;(pr x)
>                                      x))))
> #'user/k
> => k
> "(0 1 2 3 4)"
> => (= "(0 1 2 3 4)" k)
> true
>
> => (def k (pr-str (for [x (range 5)]
>                                 (do (pr x)
>                                      x))))
> #'user/k
> => (= "(0 1 2 3 4)" k)
> false
>
=> (= "(012340 1 2 3 4)" k)
true

so it's not exactly like the example that I've given... I'll have to
investigate more

>
>
>>
>>
>>
>>
>>
>> On Sat, Feb 9, 2013 at 8:03 PM, Conrad <drc...@gmail.com> wrote:
>>
>>> I agree when you print to stdout you'd expect lazily evaluated output to
>>> be mangled in.
>>>
>>> However, it would seem more natural to me that if you print something to
>>> a string it is counter intuitive for incidental writes to stdout to be
>>> redirected to the string, as well- There is also nothing in the
>>> documentation that suggests this would happen.
>>>
>>> Also, it would be technically relatively easy to change this.
>>>
>>> On Saturday, February 9, 2013 12:46:08 PM UTC-6, AtKaaZ wrote:
>>>
>>>> here's a simpler example:
>>>> => (map println '(1 2 3))
>>>> (1
>>>> 2
>>>> nil 3
>>>> nil nil)
>>>> => (dorun (map println '(1 2 3)))
>>>> 1
>>>> 2
>>>> 3
>>>> nil
>>>>
>>>>
>>>>
>>>> On Sat, Feb 9, 2013 at 7:44 PM, AtKaaZ <atk...@gmail.com> wrote:
>>>>
>>>>>  actually replacing vec with dorun or doall, would've been a better
>>>>> example :)
>>>>>
>>>>>
>>>>> On Sat, Feb 9, 2013 at 7:42 PM, AtKaaZ <atk...@gmail.com> wrote:
>>>>>
>>>>>> I think it's an illusion from being lazy ?
>>>>>> => (def k (pr-str (vec (for [x (range 5)]
>>>>>>                               **  (do (pr x)
>>>>>>                               **       x)))))
>>>>>> 01234
>>>>>> #'datest1.ret/k
>>>>>> => k
>>>>>> "[0 1 2 3 4]"
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Sat, Feb 9, 2013 at 7:30 PM, Conrad <drc...@gmail.com> wrote:
>>>>>>
>>>>>>> I tested this in the latest 1.5.0-RC6:
>>>>>>>
>>>>>>> => (def k (pr-str (for [x (range 5)]
>>>>>>>                              (do (pr x)
>>>>>>>                                   x))))
>>>>>>> #'user/k
>>>>>>> => k
>>>>>>> "(012340 1 2 3 4)"
>>>>>>>
>>>>>>> This seems wrong to me... I can see what would be needed to fix it
>>>>>>> in clojure/core.clj, but it would require creating several additional
>>>>>>> private functions. Does anyone know if this behavior is intentional?
>>>>>>>
>>>>>>> --
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Clojure" group.
>>>>>>> To post to this group, send email to clo...@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+u...@**googlegroups.com
>>>>>>>
>>>>>>> For more options, visit this group at
>>>>>>> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>>>>
>>>>>>> For more options, visit 
>>>>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>>>>> .
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Please correct me if I'm wrong or incomplete,
>>>>>> even if you think I'll subconsciously hate it.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Please correct me if I'm wrong or incomplete,
>>>>> even if you think I'll subconsciously hate it.
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Please correct me if I'm wrong or incomplete,
>>>> even if you think I'll subconsciously hate it.
>>>>
>>>>   --
>>> --
>>> 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/groups/opt_out.
>>>
>>>
>>>
>>
>>
>>
>> --
>> Please correct me if I'm wrong or incomplete,
>> even if you think I'll subconsciously hate it.
>>
>>
>
>
> --
> Please correct me if I'm wrong or incomplete,
> even if you think I'll subconsciously hate it.
>
>


-- 
Please correct me if I'm wrong or incomplete,
even if you think I'll subconsciously hate it.

-- 
-- 
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/groups/opt_out.


Reply via email to