Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Talk:Partial evaluation

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 3 years ago by Mdmi in topic First publication

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