Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> comp.databases.theory -> Re: Bob's 'Self-aggrandizing ignorant' Count: Was: What databases have taught me

Re: Bob's 'Self-aggrandizing ignorant' Count: Was: What databases have taught me

From: Tony D <>
Date: 30 Jun 2006 16:20:13 -0700
Message-ID: <>

Bob Badour wrote:

[ snippage ]

> I don't necessarily agree with the statement that some algorithms are
> implicitly imperative or procedural in nature on the basis of possible
> implementations in PROLOG. Even if they are imperative, this does not
> preclude declarative solutions because a language can be both imperative
> and declarative, and one can imagine other non-procedural languages than

Given that all Turing complete languages compute the same functions, I think this comes down to the fuzzy notion of convenience; some algorithms *might* be "conveniently" described in an imperative manner. But this will vary from programmer to programmer.

[ snippage ]

> These observations naturally lead one to two important questions:
> 1) Can one create a pair of languages where the proofs written in one
> language establish the correct outcome and where some other language
> instructs the compiler on how to implement to get the best possible
> performance?

Just to be sure I'm reading you correctly; you want to write proofs in language (a). Some other language (b) then provides hints to a compiler for language (a) on optimising proofs for some or other machine architecture (c). (In which case, wouldn't (b) normally just be the optimising stage on a compiler ?) Or would you want to effectively hand-optimise by writing your own optimiser hints for architecture (c) in language (b) for a particular proof in language (a) ? Basically, is a program a pair of (proof in (a), hints in (b)) ?

> 2) Could one create a compiler to translate proofs as above in 1) into
> assembler code with an automated proof that the maximum number of CPU
> cycles consumed in the worst-case situation would not exceed some threshold?

The first part sounds like a compiler, with a customisable optimiser. The second part sounds like a job for abstract interpretation & static analysis - just beware of the halting problem & Rice's theorem waiting to pounce.

> These then lead into a third question: Can one combine the above
> features in a single product?

Possibly. Partial evaluators sounded bizarre to me until I got my head around them (to some extent, anyway). Received on Fri Jun 30 2006 - 18:20:13 CDT

Original text of this message