Talk:Partial evaluation

Why isn't this just Compilation?
As it stands, this article almost requires.

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)

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)
 * 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)

2nd Futamura projection
Hart & Levin compiler? ==

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)


 * 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)

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

Similix
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)
 * 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)
 * 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
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)