%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% Figure 7 : Bare, stackless CPS abstract machine %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bareR : croot -> ctriv -> type. bareE : cexp -> ctriv -> type. %mode bareR +R -T. %mode bareE +E -T. % style here -fp %{ bare_klam : bareR (klam E) A <- {k:ccont} {b:{t:ctriv}bareE (cret k t) t} bareE (E k) A. }% bare_klam : bareR (klam E) A <- {k:ccont} ({T:ctriv}bareE (cret k T) T) -> bareE (E k) A. bare_cret : bareE (cret (vlam E) T) A <- bareE (E T) A. bare_capp : bareE (capp (xlam ([x:ctriv]klam (E x))) T C) A <- bareE (E T C) A. %name bareR BARER. %name bareE BAREE.