Bravo! Bravo Bravissimo! 2009/9/3 Ray Dillinger <[email protected]>: > There are restricted cases in which the likelihood of success in > a particular endeavor can be related fairly strongly to a single > number.
For future reference, I will call this "the cake number" in reference to one ot the preceding posts and a slightly famous, rather truculent, old lady :) > For purposes of porting scheme programs from one implementation > to another, I think you could get a good idea of the probability > of success with a distance metric between the two implementations > involved. I love metrics. Especially software metrics. And now we have a meta-metric on a software development platform. How cool is that? > I think I could claim (although I'd want to look at my stats book > pretty closely first) that the probability of a given program that > runs on the source implementation S running without modification on > the target implementation T, given typical distributions of use of > features found in the source implementation, is P(S,T). If it isn't, > it's because I made a mistake in the statistical relationships > given above. ... > A table like that would certainly be useful, as would the > corresponding list of such potentially compatibility-breaking > features. I think that P(S,T) for all T is an important part of > the measure of "goodness" for implementation S, This would be Cake_S(I), where I is a particular implementation. > and likewise, that P(S,T) for all S is an important part of the measure of > goodness > for an implementation T. And this would be Cake_T(I). > But this is not any kind of ordered relationship. This is a > measure of pairwise compatibility among implementations, and > it's not even symmetric. Well, you have a lot of not-quite-metric components there (and possibly some typos in how they all combine, but I think I see what you are getting at). I think that Cake(S,T) (which is a corrected P(S,T)) doesn't even form a lattice, but it would certainly establish a DAG between implementations. The full Cake graph might very well have any number of interesting features (I'm thinking particularly of a clique analysis) which might inform the debate about the Large vs Small Scheme debate. It seems to me that Cake_S and Cake_T have the potential to form lattices, and it would be very interesting to me if they did *not* form actual metric spaces. I don't see that Cake_S(I) == Cake_T(I), however, for any implementation I. Heck, there may even be an implementation or two out there (you know who you are) where Cake(I,I) is indeterminate! Ultimately, I think you should apply for a grant and publish this paper :) No, really! I think that the Cake metric actually addresses algorithmic portability issues in a very wide sense and attempts to bring rigor to our intuitive understanding of the "expressive power" of different programming languages. The nice thing about doing a Cake analysis of Scheme is that there are so many implementations around that you could have a meaningful universe for comparison while keeping the analysis effort bounded. The only problem I foresee is that computing Cake(S,T) for any given pair might be equivalent to the Halting Problem :) david rush -- GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
