2006
DOI: 10.1007/11783596_2
|View full text |Cite
|
Sign up to set email alerts
|

Refunctionalization at Work

Abstract: We present the left inverse of Reynolds's defunctionalization and we show its relevance to programming and to programming languages. We propose two methods to transform a program that is almost in defunctionalized form into one that is actually in defunctionalized form, and we illustrate them with a recognizer for Dyck words and with Dijkstra's shunting-yard algorithm.Revised version of BRICS RS-07-7. * This tutorial documents an invited talk at MPC '06 [26]. † IT-parken,

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
23
0

Year Published

2006
2006
2018
2018

Publication Types

Select...
3
3

Relationship

2
4

Authors

Journals

citations
Cited by 13 publications
(23 citation statements)
references
References 12 publications
(15 reference statements)
0
23
0
Order By: Relevance
“…The programmatic transformation of formal semantics dates to work by Reynolds [15]. More recent work by Danvy et al has shown that formal semantics are highly amenable to program transformations and that it is possible to automatically convert denotational semantics into operational semantics and vice versa [2,3,1,[6][7][8]. These techniques, combined with ours, should permit the mechanizable construction of static analyzers for a wider variety of formal semantics paradigms.…”
Section: Related Workmentioning
confidence: 99%
“…The programmatic transformation of formal semantics dates to work by Reynolds [15]. More recent work by Danvy et al has shown that formal semantics are highly amenable to program transformations and that it is possible to automatically convert denotational semantics into operational semantics and vice versa [2,3,1,[6][7][8]. These techniques, combined with ours, should permit the mechanizable construction of static analyzers for a wider variety of formal semantics paradigms.…”
Section: Related Workmentioning
confidence: 99%
“…This disentangled specification, as it were, is in defunctionalized form [32,39,86]: 1 the control stack and the dump are defunctionalized data types, and run c and run d are the corresponding apply functions.…”
Section: Run : S * E * C * D -> Valuementioning
confidence: 99%
“…In ML, the tagged environments are grouped into data types, and auxiliary apply functions dispatch on the tags. The left inverse of defunctionalization is 'refunctionalization' [32,39]. 2 The term 'CPS' is due to Steele [93].…”
Section: Run : S * E * C * D -> Valuementioning
confidence: 99%
See 1 more Smart Citation
“…The overarching goal of this work is to replace the required ingenuity by a mechanical derivation. A key idea towards this goal has been proposed by Rendel et al [31], namely to relate the data and codata worlds by refunctionalization [16] and defunctionalization [17,32].…”
Section: Introductionmentioning
confidence: 99%