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! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users