[racket] member et al.
Four minutes ago, Neil Toronto wrote:
> Possibly unrelated, but I also had to write my own `member?' when I
> encoded a Bayesian spam filter in the Bayesian DSL I'm making. I
> didn't want a distribution over all Racket values, I wanted one over
> {#t,#f}. In fact, I'm going to have to wrap all the truth-valued
> functions because of this. [...]
That's a much stickier issue, since it easily leads you to require
that `and' and `or' are boolean, which destroys their tail-ness.
(IMO, this is an important factor in keeping the non-#f business.)
> I think we should retire this truthiness business, replace cond's
> `=>' with something that lets you easily nest conds (I have a
> proposal ready for this, and it is awesome),
(a) how is this related? (b) `=>' is not used to nest `cond's.
> and stop using truthiness idioms. It's obfuscating, it's hard on
> newcomers, it makes reasoning about return values difficult, and
> it's very last-century.
(And tail-call-{optimization,elimination} is very this-century...)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!