I like your idea better than mine. Do you have time to make it a pull request? 
If not, I’ll do it.

John

> On Nov 29, 2018, at 2:08 PM, Philip McGrath <phi...@philipmcgrath.com> wrote:
> 
> I would find `true?` confusing, since it really means "truthy." For example, 
> in Rackunit, `check-not-false` has this behavior, whereas `check-true` checks 
> that the result is really `eq?` to `#t`.
> 
> Personally, I think it might be better to clarify the documentation with more 
> prose, rather than adding a new binding to the standard library. Maybe 
> something like this?
> Like (map proc lst ...), except that, when `proc` returns `#f`, that element 
> is omitted from the resulting list. In other words, filter-map is equivalent 
> to (filter (lambda (x) x) (map proc lst ...)), but more efficient, because 
> filter-map avoids building the intermediate list.
> 
> -Philip
> 
> 
> On Thu, Nov 29, 2018 at 3:25 PM Gustavo Massaccesi <gust...@oma.org.ar> wrote:
> This function is a already defined in a few libraries and it is called 
> `true?` for example in 
> https://docs.racket-lang.org/predicates/index.html?q=true#%28def._%28%28lib._predicates%2Fmain..rkt%29._true~3f%29%29
> 
> I think that `not-false?` is easier to understand, but `true?` is more 
> idiomatic.
> 
> Gustavo
> 
> 
> 
> 
> On Thu, Nov 29, 2018 at 3:11 PM 'John Clements' via Racket Users 
> <racket-users@googlegroups.com> wrote:
> This stack overflow post
> 
> https://stackoverflow.com/questions/53543191/what-is-the-different-between-filter-and-filter-map/53545115#53545115
> 
> … is written by someone confused by the documentation for `filter-map`. I 
> went and read the documentation, and *I* was confused for about 30 seconds. I 
> eventually proposed rewriting the existing
> 
> Returns (filter (lambda (x) x) (map proc lst ...)), but without building the 
> intermediate list.
> 
> to
> 
> Returns (filter not-false? (map proc lst ...)), but without building the 
> intermediate list, where not-false? can be defined as (lambda (x) x).
> 
> This text is kludgier, but I think that the use of (lambda (x) x) as 
> “not-false?” is idiomatic and confusing. And yes, I realize that this 
> suggestion probably applies to many places in the docs. Maybe I should just 
> propose adding `not-false?` as a library function, defined as (lambda (x) x)….
> 
> 
> John
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+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 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+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 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to