~~~ :double:var (nns-) d:create swap , , ; :double:fetch (a-nn) fetch-next swap fetch ; :double:store (nna-) &swap dip store-next store ; :double:const (nns-) double:var &double:fetch does ; :double:swap (nnmm-mmnn) rot push rot pop ; :double:dip (mnq-mn) rot rot push push call pop pop ; :double:sip (mnq-mn) &dup-pair dip double:dip ; 'interface/double.retro 'double:var d:set-source 'interface/double.retro 'double:fetch d:set-source 'interface/double.retro 'double:store d:set-source 'interface/double.retro 'double:const d:set-source 'interface/double.retro 'double:swap d:set-source 'interface/double.retro 'double:sip d:set-source 'interface/double.retro 'double:dip d:set-source ~~~