A case against standards

Ilmari Heikkinen kig@misfiring.net
Thu Oct 30 10:34:02 2003


Hello Armin, 

> It is not possible to design the "ulimate" programming language in
> which you could write programs by expressing exactly and only what is
> relevant.  It is only a pure ideal.

I think one important goal in making a meta-converter is to allow the
use of several programming languages, tools and data structures together
with minimum effort, gluing the current mess together. To use a network
analogy, the current situation is like bang-path email, where you have
to manually define all machines in the route, vs the current system of
routers automatically figuring out the route. 

> I'm saying is that we need to be able to express the *existence* of aspects
> (the "context"), and that it can be useful even if we do not necessarily
> formalize these aspects, because we can say which ones are considered relevant
> in particular cases (it may not be the same ones from program to program), and
> say which of these aspects conversion routines preserve.

Yes, agreed. 

Though I think that the function that uses the context actually
formalizes it, albeit ambiguosly. The functors that say that they
preserve a certain aspect don't get used unless the aspects they define
map to the aspects the context defines (and so, a de facto standard?).
And this'd need a synonym network of translations between context
definitions (picture,photo,painting,drawing,bild,cuadro ~= image)? 


I think I'll try implementing your context idea (if that's okay with
you) in the ccp weighing algorithm, using a score-based method to better
fit ccp's philosophy of 'do the most right thing possible' (compared to
'do the right thing or quit' ...though it would be good to have a strict
non-DWIM mode too).

So, hmm. It'd have to first figure out the context (=weighing function).
And then, when figuring out the path, look at path function definitions
to figure out what the function takes in and puts out, and weigh those
with the context. And aim for the path that loses least relevant
information in the context.


Cheers,

-Ilmari