[plt-scheme] When does eqv? differ from eq? , from equal?

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Mon Oct 6 21:43:24 EDT 2008


I would say that is a distinction between a purist and a pragmatist
view of functional languages (and I'm a pragmatist, though I've been
called much worse -- eg, a "worse is better guy" by someone else who
was a prof while I was still an undergrad <-;).

Actually, that sounds like I'm conceding too much.  So let me make a
different claim: modern computer science cannot survive without cost
models.  There are of course layers and layers of cost models -- does
what the GC is doing count?  does what the compiler is doing count?
does whether my constant-time equality predicate been couched up in
several layers of contract unwrappers count? -- but ultimately,
programmers need to know.

(This is being driven home to me all the time as I spent more and more
time working with Internet-scale datasets.)

That is, in the extensional universe of computer science, performance
cannot be treated purely as an intension.

[As an orthogonal issue, Matthias has persuasively argued for a long
time that state -- which underlies some of this discussion -- is an
essential kind of modularity.]


Posted on the users mailing list.