Talk:Partial evaluation

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Why isn't this just Compilation?[edit]

As it stands, this article almost requires {{Importance-section}}.

It should mention, by way of example, this is (as I understand it) how some Lisps (and probably many other interpreted languages, as implied by the existing article content) compile stand-alone executable programs, as well as being the process (at least to some extent) in "normal" compilation, and especially for an optimising compiler, not just a theory.

Of course this is notable. Sexy stuff. See MetaML (MetaOCaml nowadays) for example.132.198.12.129 (talk) 15:42, 19 March 2009 (UTC)[reply]

I'd be bold but I don't have time or sources at the moment, but I have wikilinked the above to help save someone time :-) Mark Hurd 00:48, 16 February 2006 (UTC)[reply]

You're kidding. This is a technique whose applications include program optimisation, compilation and compiler generation. It may not be well-known but it is definitely important. -- Derek Ross | Talk 06:54, 14 April 2009 (UTC)[reply]

2nd Futamura projection == Hart & Levin compiler?[edit]

Is the second Futamura projection equivalent to the Hart & Levin strategy used to create the first self-hosting compiler? "Compiler generation by self-application" sounds like just what they did: write a compiler in the source language and run it on itself in an interpreter for that language. --FOo 06:17, 15 April 2006 (UTC)[reply]

I read the relevant article and no, they are alternatives. The second projection does "Compiler ← Specializer(Specializer, Interpreter)", while Hart & Levin did "Compiler ← Interpreter(Compiler-source, Compiler-source)". Hart & Levin's strategy just needs the compiler written in its own language. The second projection needs a good specializer, which I imagine is much harder to write if not incomputable in general. Hashproduct (talk) 06:25, 4 February 2009 (UTC)[reply]

Wow![edit]

Futamura's idea is stunning. -- Derek Ross | Talk 05:00, 14 April 2009 (UTC)[reply]

Similix[edit]

Anyone mind me mentioning the google search term Similix here? It's downloadable, but I didn't write it, I used it back in the day Curtis02 (talk) 09:56, 29 August 2010 (UTC)[reply]

I doubt that anyone will mind provided that you explain what it is and how it fits into the history of partial evaluators. It seems to be notable. -- Derek Ross | Talk 22:40, 29 August 2010 (UTC)[reply]
Well, the google hits like http://www.dina.dk/~jesper/PEsummerschool/Similix/similix.html or http://portal.acm.org/citation.cfm?id=665922 are pretty clear: it's a partial evaluator for the functionally pure subset of Scheme (programming language). I dunno where it fits in the history, though. --Gwern (contribs) 18:58 24 September 2010 (GMT)

First publication[edit]

The article previously said Futamura's elegant idea was first published in 1983. I changed that to a 1971 publication in Japanese--a really early contribution that escaped notice until much later.

I can't read Japanese, so I am relying on the title to indicate that at least the third projection (a compiler-compiler) is discussed there. I can attest, though, that it is all succinctly spelled out in the 1973 report to Ben Wegman available on Futamura's website. Mdmi (talk) 21:27, 31 August 2022 (UTC)[reply]