[e-lang] Wiki Software

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Sun Dec 10 15:58:12 CST 2006


Lex Spoon wrote:
> Sandro Magi <smagi at higherlogics.com> writes:
> 
>>Well, objects are a simply poor man's closures
>>(http://www.kimbly.com/blog/000063.html). ;-)
> 
> Yeah yeah, and all languages are really just Turing machines.  ;)

The equivalence between objects and closures is a Felleisen equivalence,
not just a Turing equivalence.

<http://citeseer.ist.psu.edu/felleisen90expressive.html>

"By adapting the ideas about the relationship among formal systems to
 programming languages, we obtain a relation that determines whether a
 programming language can express a programming construct. More precisely,
 given two universal programming languages that only differ by a set of
 programming constructs, {c_1, ..., c_n}, the relation holds if the
 additional constructs make the larger language more expressive than the
 smaller one. Here "more expressive" means that the translation of a
 program with occurrences of one of the constructs c_i to the smaller
 language requires a global reorganisation of the entire program."

In general, translations between Turing-complete languages may require
a global reorganisation, but the translations between closures and
objects are quite straightforward and local.

-- 
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>



More information about the e-lang mailing list