Post #2178013
2026-04-18 15:13 UTC
Replies (2)
-
@CanLehmann@mastodon.social 2026-04-18 15:20
@smarr@mastodon.acm.org @lindsey@recurse.social @verijit@mastodon.social @cfbolz@mastodon.social I never looked into the actual formal definitions of the Futamura Projections, but I get the sense that they are usually more referenced with respect to partial evaluation rather than meta-tracing. One important difference is that we only create the projection for taken paths and insert guards at all conditions. So maybe it would be more accurate to say that we create a partial 1st futamura projection and recover to the originial interpreter "on domain error"
-
@cfbolz@mastodon.social 2026-04-18 15:38
@CanLehmann@mastodon.social @smarr@mastodon.acm.org @lindsey@recurse.social @verijit@mastodon.social verijit is actually doing the second futamura projection! The result (a residual cpu, specialized to a concrete program) is the same, but the compilation process itself is faster. (Graal is doing the first, rpython too). And yes, partial evaluation and meta tracing are not exactly the same, but have a lot of similarities (there's a chapter about the similarities/differences in my diss)