USING: kernel sequences locals ; IN: my-sequences :: (my-binary-reduce) ( seq quot -- val ) seq length 1 = [ seq first ] [ seq halves [ quot (my-binary-reduce) ] bi@ quot call ] if ; inline recursive : my-binary-reduce ( seq id quot -- val ) swapd [ (my-binary-reduce) ] keep call ; inline