I see. If your code requires a vector, I think you will have to coerce the 
list each time as you are doing. Out of curiosity, what are you doing that 
makes this necessary? Are you using something like get-in?

On Tuesday, April 15, 2014 7:11:56 PM UTC-4, Kris Calabio wrote:
>
> In one of the callback functions in the defscreen I have a pipeline of 
> functions that do something to the entities vector and return the resulting 
> entities. I do something like this:
>
> (->> entities
>   (process-entities01)
>   (process-entities02)
>   (map (fn [entity]
>           (->> entity
>              (process-entity01)
>              (process-entity02)))
>   (process-entities03))
>
> And that does not work, because each of the 'process-entities' functions 
> are written in a way that expect a vector as input. Likewise, they each 
> output a LazySeq unless I convert them back to a vector before returning. 
> But I can't do that for the map function in the pipeline. But this does 
> work:
>
> (->> entities
>   (process-entities01)
>   vec
>   (process-entities02)
>    vec
>   (map (fn [entity]
>           (->> entity
>              (process-entity01)
>              (process-entity02)))
>   vec
>   (process-entities03)
>   vec)
>
>   
>
>
> On Tue, Apr 15, 2014 at 3:34 PM, Zach Oakes <zso...@gmail.com<javascript:>
> > wrote:
>
>> Kris, the entities are automatically converted back into a vector by 
>> play-clj after being returned by a given function. Can you elaborate on 
>> what problem you believe is occurring when you don't change it back to a 
>> vector?
>>
>>
>> On Tuesday, April 15, 2014 5:26:07 PM UTC-4, Kris Calabio wrote:
>>
>>> James, I have a question. I see this pattern a lot in the sample code 
>>> and in your code as well, for example:
>>>
>>> (defn- move-player [entities]
>>>   (->> entities
>>>
>>>        (map (fn [entity]
>>>               (->> entity
>>>
>>>                    (update-player-position)
>>>                    (update-hit-box))))
>>>
>>>        (remove-touched-apples)))
>>>
>>>
>>> When the entities vector gets threaded through the map function, it 
>>> comes out as a LazySeq. But don't we want to keep the entities as a vector? 
>>> This seems to be causing problems in my own code, and the only way to keep 
>>> it working is to change it back to a vector every time I do this, which 
>>> seems inelegant. Just wondering if I'm missing something.
>>> -Kris
>>>
>>>
>>> On Sun, Apr 13, 2014 at 3:13 PM, James Trunk <james...@gmail.com> wrote:
>>>
>>>> There's a link to a gist of 
>>>> core.clj<https://gist.github.com/Misophistful/9892203>in the video's 
>>>> description.
>>>>
>>>> Cheers, 
>>>> James
>>>>
>>>>
>>>> On Monday, April 14, 2014 12:08:16 AM UTC+2, Kris Calabio wrote:
>>>>
>>>>> Actually, I thought it would be even more helpful if you had the 
>>>>> source code available (for searching/skimming). Is that somewhere online?
>>>>> -Kris
>>>>>
>>>>>
>>>>>  On Sun, Apr 13, 2014 at 2:47 PM, James Trunk <james...@gmail.com>wrote:
>>>>>
>>>>>>  Hi Kris,
>>>>>>
>>>>>> Thanks for your comment, and I'm very glad that you found the video 
>>>>>> helpful.
>>>>>>
>>>>>> I started doing screencasts because I realised that I learn a new 
>>>>>> concept fastest by watching someone else doing/explaining it - and I 
>>>>>> figured I might not be the only one. Saying that, I know screencasts 
>>>>>> aren't 
>>>>>> for everyone, and they have a few drawbacks compared to text (harder to 
>>>>>> search, skim, or repeat sections). So positive comment like yours remind 
>>>>>> me 
>>>>>> that I'm not the only auditory/visual learner around here, and inspire 
>>>>>> me 
>>>>>> to keep going. Thanks!
>>>>>>
>>>>>> James
>>>>>>
>>>>>>
>>>>>> On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:
>>>>>>>
>>>>>>> Great video! I've looked through Zach's examples, and even started 
>>>>>>> coding a game myself. But your screencast helped me have a better 
>>>>>>> understanding of some of the concepts and code that I was having 
>>>>>>> trouble 
>>>>>>> understanding just by looking at the example games. Thanks!
>>>>>>> -Kris
>>>>>>>
>>>>>>> On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:
>>>>>>>>
>>>>>>>> Hi everyone,
>>>>>>>>
>>>>>>>> I thought some of you might be interested to watch my screencast 
>>>>>>>> about game development in Clojure with 
>>>>>>>> play-clj<https://www.youtube.com/watch?v=9ilUe7Re-RA>
>>>>>>>> .
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> James
>>>>>>>>
>>>>>>>  -- 
>>>>>> 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
>>>>>> --- 
>>>>>> 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/to
>>>>>> pic/clojure/mR1IBJ_OomY/unsubscribe.
>>>>>>  To unsubscribe from this group and all its topics, send an email to 
>>>>>> clojure+u...@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 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
>>>> --- 
>>>> 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/mR1IBJ_OomY/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to 
>>>> clojure+u...@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 clo...@googlegroups.com<javascript:>
>> 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 <javascript:>
>> 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/mR1IBJ_OomY/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> clojure+u...@googlegroups.com <javascript:>.
>> 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 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