Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (22 Dec 2010 20:47 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? John Cowan (23 Dec 2010 01:49 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (23 Dec 2010 08:25 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? John Cowan (23 Dec 2010 09:13 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Peter Kourzanov (23 Dec 2010 09:26 UTC)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Peter Kourzanov (23 Dec 2010 09:28 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Andre van Tonder (23 Dec 2010 15:11 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? John Cowan (24 Dec 2010 01:14 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Eli Barzilay (24 Dec 2010 01:40 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (24 Dec 2010 08:55 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? John Cowan (24 Dec 2010 09:20 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (24 Dec 2010 09:26 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? John Cowan (25 Dec 2010 00:32 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Adrien "Pied" Piérard (24 Dec 2010 11:51 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (24 Dec 2010 12:49 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Eli Barzilay (24 Dec 2010 16:04 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Andre van Tonder (24 Dec 2010 18:33 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Adrien "Pied" Piérard (27 Dec 2010 01:59 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? John Cowan (27 Dec 2010 05:51 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Adrien "Pied" Piérard (27 Dec 2010 06:22 UTC)
Re: [Scheme-reports] [r6rs-discuss] case reborn Peter Kourzanov (27 Dec 2010 09:55 UTC)
Re: [Scheme-reports] [r6rs-discuss] do we need to redefine eqv? Peter Kourzanov (29 Dec 2010 12:54 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (24 Dec 2010 12:24 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Eli Barzilay (24 Dec 2010 16:02 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (24 Dec 2010 18:17 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Andre van Tonder (24 Dec 2010 18:44 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Andre van Tonder (24 Dec 2010 18:40 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Peter Kourzanov (24 Dec 2010 20:07 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? John Cowan (24 Dec 2010 20:40 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (24 Dec 2010 22:11 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? Shiro Kawai (24 Dec 2010 22:27 UTC)
Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Peter Kourzanov (25 Dec 2010 00:48 UTC)
Re: [r6rs-discuss] [Scheme-reports] redefining eqv? John Cowan (25 Dec 2010 00:29 UTC)
(missing)
(missing)
(missing)
(missing)
(missing)
(missing)

Re: [Scheme-reports] [r6rs-discuss] redefining eqv? Andre van Tonder 24 Dec 2010 18:32 UTC

On Fri, 24 Dec 2010, Peter Kourzanov wrote:

   > On Fri, 2010-12-24 at 20:49 +0900, Adrien "Pied" Piérard wrote:
   > And now comes a question from a user who reads all your debates in
   > awe, but can't help thinking there's a lot of hair splitting involved.
   >
   > "Why not just parameterize CASE or whatever pattern-matcher with an
   > equivalence predicate?"
   >
   > Wouldn't this solve many problems we read here?
   > Would it create enough others problems to be disqualified?
   >
   > I believe that
   >
   > (case-with my-equality-predicate foo
   >  ((bar) quux)
   >  (else rofl)))

   That's what I always do in my own code, which could be fine for a
   semi-advanced user that redefines (case) for fun. The problem is that
   the core language will lose its terseness appeal to newbies and veterans
   if you proceed this way... And Eli will be unhappy if he accidentally
   imports "wrong" (case) macro.

   P.S. Note that both Haskell and Scala have special devices to attack
   this problem (typeclasses resp. mixins). Not sure what ML is doing, but
   OCaml could solve this with its OO system supposedly too.

I think one of the principal ways CASE was originally intended to be used
was for fast dispatch on symbols or possibly numbers used as typetags in
objects represented as lists, e.g.,

   (case (car object)
     ((node) .....)
     ((leaf) .....))

I believe there are some Schemes, like STALIN, that highly optimize such
CASE expressions.  This would be harder to do in a higher-order CASE.

Andre
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports