[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