! Copyright (C) 2005, 2010 Slava Pestov, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. USING: sequences kernel accessors ; IN: columns ! A column of a matrix TUPLE: column seq col ; C: column M: column virtual-exemplar seq>> ; M: column virtual@ [ col>> swap ] [ seq>> ] bi nth bounds-check ; M: column length seq>> length ; INSTANCE: column virtual-sequence : ( seq -- seq' ) dup empty? [ dup first length [ ] with map-integers ] unless ;