! Copyright (C) 2008 Alex Chapman ! See http;//factorcode.org/license.txt for BSD license USING: accessors circular kernel sequences ; IN: sequences.repeating TUPLE: repeating circular len ; : ( seq length -- repeating ) [ ] dip repeating boa ; : repeated ( seq length -- new-seq ) dupd swap like ; M: repeating length repeating-len ; M: repeating set-length (>>len) ; M: repeating virtual@ ( n seq -- n' seq' ) circular>> ; M: repeating virtual-seq circular>> ; INSTANCE: repeating virtual-sequence