program: c3b /* ... */ /* def: _steps at a time(n) spoken: steps at a time from: COLUMNS // lead dancers do an Nx(4-n) peel off, as-couples-on-N quarter in (3 parts) // other dancers circulate (n/2) times, trade, roll (3 parts) */ /* ... */ def: bingo from: RH BOX, LH BOX, 2x2 select: LEADER call: 3/4 out select: TRAILER call: any shoulder wheel thru // XXX: any shoulder is a concept? example: bingo // from RH box before: ! A> a> ! ! v ^ ! example: and roll(bingo) // ensure that we're going 3/4 out, not 1/4 in! (common cheat) before: ! C> after: ! C> example: 1/2(bingo), box counter rotate 1/8 // check left shoulder pass & 45-off setups. before: ! C> after: ! A> ! ^ ! a c ! v ! C> ! a> c> after: ! C> C> ! a> c> after: ! ^ ! C a ! v ! ^ ! c A ! v example: boomerang // from rh box before: ! A> a> ! C> ! a> ! example: boomerang // from t-bone before: ! ^ ! A C ! v after: ! example: 1/2(boomerang) // fractionalizable before: ! ^ ! A C ! v after: ! ^ ^ ! A a c C ! v v example: and roll(boomerang) // only leaders can roll. before: ! ^ ! A C ! v after: ! ! // XXX vic provides a more general definition which involves "make a compact // formation". We're using the standard def. def: busy(c) spoken: busy ipart: call: _start busy, _finish busy([c]) example: busy single wheel before: ! ^ ^ ! A a B b ! ^ ^ v v ! d D c C ! v v after: ! ^ ^ ! C d B a ! ^ v ^ v ! c D b A ! v v example: busy mix before: ! ^ ^ ! A a B b ! ^ ^ v v ! d D c C ! v v after: ! ^ ! C ^ ^ a ! ^ B b d D v ! c v v A ! v def: _start busy from: PARALLEL LH TWO FACED LINES call: mirror(_start busy) from: PARALLEL RH TWO FACED LINES select: TRAILER prim: 0, 1, none select: and(LEADER, BEAU) prim: 4, 1, right select: and(LEADER, BELLE) prim: 0, 1, right, sashay-finish def: _finish busy(c) from: CENTER HALF call: _concentric([c], counter rotate(1/4)) // XXX: allow " by golly"? def: by golly // this alternate definition for by golly is borrowed by vic ceder // it's more general than the "standard" definition and allows by golly // following couple up, r&l thru, etc. from: FACING COUPLES // all selected dancers can roll right condition: MATCH(_ROLL PATTERN(), RRRR) ipart: call: veer left call: half tag from: FACING COUPLES // all selected dancers can roll left condition: MATCH(_ROLL PATTERN(), LLLL) ipart: call: veer right call: left(half tag) example: recycle, by golly before: ! ^ ^ ! A a c C ! v v after: ! C> c> ! call: _wave swing, slip, cross run(CENTER), [c] /* .... */ def: explode the diamond from: TWIN DIAMONDS, TWIN FACING DIAMONDS //ends in: ENDS IN INVERTED LINES select: CENTER call: explode the wave select: END // strictly speaking, "in your phantom waves, circulate // and the lead end u-turn back" call: concentric(couple up) from: THREE QUARTER TAG select: CENTER call: explode the wave select: END call: trade // couple up (not actually concentric, like acey-deucey) // XXX: "from other applicable formations" (what might they be?) /* .... */ def: reverse the pass from: TANDEM COUPLES //ends in: formation(TANDEM COUPLES) // XXX breaks fractionalization call: _with designated(LEADER, _designated leaders reverse the pass) example: reverse the pass before: ! ^ ^ ! A a ! ^ ^ ! C c after: ! c C ! v v ! a A ! v v example: 1/2(reverse the pass) before: ! ^ ^ ! A a ! ^ ^ ! C c after: ! ^ ^ ! C a c A ! v v def: _designated leaders reverse the pass call: _anyone(DESIGNATED, trade) call: pass thru call: _anyone(not(DESIGNATED), trade) def: reverse the top ends in: formation(or(RH OCEAN WAVE, LH OCEAN WAVE)) // XXX breaks fractionalization call: fan the top, _wave swing example: reverse the top before: ! A> ! ! example: scramble before: ! ^ ^ ^ ! A a D d ! v ^ ! b B c C ! v v v after: ! ! ! example: 1/2(scramble) before: ! ^ ^ ^ ^ ! A a D d ! b B c C ! v v v v after: ! A> a> d> ! A>a>B>b> ! ipart: call: press ahead ipart: select: OUTSIDE 4 call: kickoff([sel]) select: CENTER 4 call: concentric(walk others dodge([sel])) example: wave the(BEAU) before: ! ^ ^ ! A>B bd D A> ! d> example: wave the(BELLE) before: ! A>a>D ! v def: wave nobody call: wave the(NOBODY) example: wave nobody before: ! ^ ^ ! A>B bd D ! a> def: wave everybody call: wave the(EVERYBODY) example: wave everybody before: ! c C ! v v ! ^ ^ ! B b ! d D ! v v ! ^ ^ ! A a after: ! b> D> ! A> d>