Hi Charles, Looks like rotate-circular is broken. Unfortunately it didn't have unit tests and wasn't used anywhere else in the library, so nobody noticed until now. I pushed a patch fixing the issue.
Slava On Tue, Jun 9, 2009 at 3:19 PM, Charles Turner<vze26...@optonline.net> wrote: > Hey all: > > What don't I understand about circular sequences, or sequences in > general? This using a recent (> 2 weeks old) Factor OSX x86_32 and _64 > binaries, 10.5.7: > > > > ( scratchpad ) Command: restart > 1: Note: > Added "circular" vocabulary to search path > { 1 2 3 } <circular> > > --- Data stack: > T{ circular f ~array~ 0 } > ( scratchpad ) SYMBOL: mycirc > > --- Data stack: > T{ circular f ~array~ 0 } > ( scratchpad ) mycirc set > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 } } { start 0 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 } } { start 1 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 } } { start 0 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 } } { start 1 } } > ( scratchpad ) mycirc get length . > 3 > ( scratchpad ) > > - - - - - > > ( scratchpad ) { 1 2 3 4 } <circular> mycirc set > ( scratchpad ) mycirc get length . > 4 > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 } } { start 0 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 } } { start 1 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 } } { start 3 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 } } { start 3 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 } } { start 3 } } > > - - - - - > > ( scratchpad ) { 1 2 3 4 5 } <circular> mycirc set > ( scratchpad ) mycirc get length . > 5 > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 1 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 3 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 2 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 0 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 1 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 3 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 2 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 1 2 3 4 5 } } { start 0 } } > > - - - - - > > ( scratchpad ) { 0 1 2 3 4 5 6 7 8 9 } <circular> mycirc set > ( scratchpad ) mycirc get length . > 10 > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 0 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 1 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 3 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 7 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 5 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 1 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 3 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 7 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 5 } } > ( scratchpad ) mycirc get rotate-circular > ( scratchpad ) mycirc get . > T{ circular { seq { 0 1 2 3 4 5 6 7 8 9 } } { start 1 } } > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables unlimited > royalty-free distribution of the report engine for externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk > ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk