Thank Daniel and Sam!

Below is a little conclusion:

1. When it comes to "for*/list", "in-values" can be used to introduce bindings just like "let".

2. "filter-map" can be a great alternative when "for/list" is considered.

On 08/17/2014 07:59 PM, Sam Tobin-Hochstadt wrote:
This is what 'in-value' is for.

Sam

On Aug 17, 2014 5:07 AM, "Mark Wallace" <lotab...@gmail.com
<mailto:lotab...@gmail.com>> wrote:

    Consider the following pseudocode:

    (for/list ([i ...]
                #:when <very complecated expr E>)
       <reference to the above expr E>)

    Can I bind that expression E and reference in the body of "for/list"?

    If expression E takes lots of time to finish, we would not want to
    compute it again :).

    I understand that there are workarounds like first collect all items
    of expression E and then use 'filter' to get interested items.
    However it would be a waste of memory if the number of interested
    items is small.

    So, any ideas?

    --
    Best Regards,
    Mark Wallace.
    ____________________
      Racket Users list:
    http://lists.racket-lang.org/__users
    <http://lists.racket-lang.org/users>


--
Best Regards,
Mark Wallace.
____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to