-- Copyright 2016 Evan Laforge
-- This program is distributed under the terms of the GNU General Public
-- License 3.0, see COPYING or http://www.gnu.org/licenses/gpl-3.0.txt

{-# LANGUAGE RecordWildCards #-}
-- | This is analogous to the solkattu scores, except for mridangam specific
-- scores.
module Solkattu.Score.Mridangam2013 where
import           Prelude hiding ((.), repeat)

import qualified Solkattu.Dsl.Misc as Misc

import           Solkattu.Dsl.Mridangam


-- TODO use this as a template to fill in various themes
dinnagina_sequence_old :: Korvai
dinnagina_sequence_old :: Korvai
dinnagina_sequence_old = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2013 Int
9 Int
11 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sequenceT forall a b. (a -> b) -> a -> b
$ Tala -> Sequence -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
    forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map (forall sollu. SequenceT sollu
sam.)
    [ forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
sarvaA_ Duration
16 Sequence
ptheme
    , forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
sarvaA_ Duration
8 Sequence
ptheme forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
sarvaA_ Duration
8 Sequence
ptheme

    -- start sarvalaghu with o k D D ...
    -- o k oktkoktkpktkt k oktkoktkoktk     x2
    , Sequence
theme forall a. Monoid a => a -> a -> a
. Sequence
ptheme forall a. Monoid a => a -> a -> a
. Sequence
theme forall a. Monoid a => a -> a -> a
. Sequence
ptheme
    , forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8) Sequence
theme Sequence
ptheme Sequence
ptheme
    , Sequence
theme forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. Sequence
ptheme forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
eme forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
eme
    , Sequence
theme forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. Sequence
ptheme forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
eme forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2 forall a. Monoid a => a -> a -> a
. Sequence
me forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2 forall a. Monoid a => a -> a -> a
. Sequence
me
    -- the pattern is theme on sam and arudi, ptheme otherwise.
    , forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence
themeforall a. Monoid a => a -> a -> a
.Sequence
me) (Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
me) (Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
me)
    , forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) Sequence
theme (Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
me) (Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
meforall a. Monoid a => a -> a -> a
.Sequence
me)
    , forall a. Monoid a => a -> a
r2 (Sequence
themeforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
eme forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        forall a. Monoid a => a -> a -> a
. Sequence
themeforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence
meforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
me

    -- 1st variation
    -- 0   1   2   3   o3  . p   . o   . p   .
    -- o k oktkoktkoktkoktkokpktkpkoktkokpktkpk|o
    -- t k oktkokokou_kou_kkopu_kkoou_kkopu_kko|o
    -- t k oktkokokou_kkopu kkoou kkopu kkoou k|o
    -- 0   1   2   3   o3  . p   . o   . p   .
    -- , tri_ (o.__4) (ptheme . me . pme . ome . pme . k.o)
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence
theme forall a. Monoid a => a -> a -> a
. Sequence
eme3b forall a. Monoid a => a -> a -> a
. Sequence
pme3b forall a. Monoid a => a -> a -> a
. Sequence
eme3b forall a. Monoid a => a -> a -> a
. Sequence
pme3b)
    -- 2nd variation
    -- 0   1   2   3   p3  . o   . p   . o   .
    -- t k oktkokokou_kkopu kkoou kkopu kkoou k|o
    --   k oktkokokkk____pkk____okk____pkk__okk_
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence
theme forall a. Monoid a => a -> a -> a
. Sequence
pme3b' forall a. Monoid a => a -> a -> a
. Sequence
eme3b' forall a. Monoid a => a -> a -> a
. Sequence
pme3b' forall a. Monoid a => a -> a -> a
. Sequence
eme3b')
    ]
    where
    -- dhom ka dinnagina takataka talang ga
    theme :: Sequence
theme = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
    -- TODO not quite right, this has to be ptheme when not on an sam or arudi
    ptheme :: Sequence
ptheme = forall {g}. Sequence g (Note Stroke)
t forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence
theme
    eme :: Sequence
eme = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
rtakeM FMatra
8 Sequence
theme
    me :: Sequence
me = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
rtakeM FMatra
4 Sequence
theme

    -- eme3a = o.k.t.k.o.k
    -- pme3a = p.k.t.k.p.k

    eme3b :: Sequence
eme3b = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o
    pme3b :: Sequence
pme3b = forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o

    eme3b' :: Sequence
eme3b' = forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
    pme3b' :: Sequence
pme3b' = forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k

    -- themes:
    -- dhom ka dinnagina dinnagina dinnagina (tanagina)
    -- o_k_ oktk oktk oktk (pktk)
    -- dhom ka dinnagina dinnagina takataka
    -- o_k_ oktk oktk okok (pkpk)
    -- dhom ka dinnagina dhomkadhomka talang ga -- 2013 9 18
    -- o_k_ oktk okok ou_k
    -- dhom ka dinnagina dinnadinna dinnatat_ (drop next dhom) -- 2013 10 9
    -- o_k_ oktk okok okk__ (pkk__)
    -- dhom ka dinnagina dinnadinna dinnataka -- 2013 10 24
    -- o_k_ oktk okok okko
    --
    -- o_k_ookn ookn ookn (ppkn) -- 2013 10 29
    -- o_knookn o_kn ookn
    -- mix and match oktk, okok, ookn
    --
    -- ktnoktknokt kno -- 2013 11 5, progression different
    -- su: o t k n ktok

-- TODO non-sam: o -> p or 't' if preceded by k
-- or __ for takataka dinnatat
dinnagina_sequences :: Korvai
dinnagina_sequences :: Korvai
dinnagina_sequences = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2013 Int
9 Int
11 forall a b. (a -> b) -> a -> b
$ Tala -> [Section] -> Korvai
korvai Tala
adi
    [ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall {g}. Sequence g (Note Stroke)
t forall {g}. Sequence g (Note Stroke)
o
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
        (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    , forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall {g}. Sequence g (Note Stroke)
t forall {g}. Sequence g (Note Stroke)
o
        (forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) -- maybe? TODO verify
        (forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    , forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2013 Int
9 Int
18 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall {g}. Sequence g (Note Stroke)
t forall {g}. Sequence g (Note Stroke)
o
        (forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
        (forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    -- TODO drop following dhom, but only if it was preceded by a theme,
    -- not sarva.
    , forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2013 Int
10 Int
9 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) forall {g}. Sequence g (Note Stroke)
t forall a. Rest a => a
__
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
    , forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2013 Int
10 Int
24 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o) forall {g}. Sequence g (Note Stroke)
t forall {g}. Sequence g (Note Stroke)
o
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o)
        (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o)
    , forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2013 Int
10 Int
29 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n) forall {g}. Sequence g (Note Stroke)
p forall {g}. Sequence g (Note Stroke)
o
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
        (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    , forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2013 Int
10 Int
29 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n) forall {g}. Sequence g (Note Stroke)
p forall {g}. Sequence g (Note Stroke)
o
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
        (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    , forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2019 Int
4 Int
8 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna
        (forall a. Monoid a => a -> a
r2 (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)) forall {g}. Sequence g (Note Stroke)
o forall {g}. Sequence g (Note Stroke)
o
        (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k))
        (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k))
    , forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2019 Int
4 Int
29 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$
        -- TODO this is an awkward way to do exceptions, but I can't think of
        -- anything more clever.  Ideally I'd want to have 'make_dinna's where
        -- clause in scope, but that would require a macro.
        let theme_ :: Sequence
theme_ = (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k))
            theme :: Sequence
theme = forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence
theme_
            ptheme :: Sequence
ptheme = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
p forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence
theme_
            me :: Sequence g (Note Stroke)
me = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        in
        forall a. Int -> a -> [a] -> [a]
Misc.replaceAt Int
2 (forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence
theme forall a. Monoid a => a -> a -> a
. Sequence
ptheme forall a. Monoid a => a -> a -> a
. Sequence
theme forall a. Monoid a => a -> a -> a
. Sequence
ptheme) forall a b. (a -> b) -> a -> b
$
        forall a. Int -> a -> [a] -> [a]
Misc.replaceAt Int
6 (forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence
themeforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
me)) forall a b. (a -> b) -> a -> b
$
        forall a. Int -> a -> [a] -> [a]
Misc.replaceAt Int
7 (forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) Sequence
theme (Sequence
themeforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
me) (Sequence
themeforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
meforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
me)) forall a b. (a -> b) -> a -> b
$
        Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna Sequence
theme forall {g}. Sequence g (Note Stroke)
o forall {g}. Sequence g (Note Stroke)
od
            (forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
            (forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    ]

make_dinna :: Sequence -> Sequence -> Sequence -> Sequence -> Sequence
    -> [Sequence]
make_dinna :: Sequence
-> Sequence -> Sequence -> Sequence -> Sequence -> [Sequence]
make_dinna Sequence
theme_ Sequence
repl Sequence
sep Sequence
theme'_ Sequence
ptheme'_ = forall a b. (a -> b) -> [a] -> [b]
map (forall g sollu. Sequence g sollu -> Sequence g sollu
su forall b c a. (b -> c) -> (a -> b) -> a -> c
 (forall sollu. SequenceT sollu
sam.))
    [ forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
sarvaA_ Duration
16 Sequence
ptheme
    , forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
sarvaA_ Duration
8 Sequence
ptheme forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
sarvaA_ Duration
8 Sequence
ptheme
    -- 1   2   3   4   X   O   X   O   |
    -- o o o o o p p p p p p o o o o o |
    -- +-----+-----+---+-----+-----+---
    , forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall {a} {sollu}.
(Monoid a, Pretty sollu) =>
FMatra
-> (SequenceT sollu -> a)
-> (SequenceT sollu -> a)
-> SequenceT sollu
-> a
split FMatra
12 forall a. a -> a
id Sequence -> Sequence
closed Sequence
theme forall a. Monoid a => a -> a -> a
. forall {a} {sollu}.
(Monoid a, Pretty sollu) =>
FMatra
-> (SequenceT sollu -> a)
-> (SequenceT sollu -> a)
-> SequenceT sollu
-> a
split FMatra
4 Sequence -> Sequence
closed forall a. a -> a
id Sequence
theme
    , forall {sollu}.
SequenceT sollu -> (Sequence -> SequenceT sollu) -> SequenceT sollu
trip (Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8) forall a. a -> a
id
    , Sequence
themeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
eme
    , Sequence
themeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2 forall a. Monoid a => a -> a -> a
. Sequence
meforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2 forall a. Monoid a => a -> a -> a
. Sequence
me
    , forall {sollu}.
SequenceT sollu -> (Sequence -> SequenceT sollu) -> SequenceT sollu
trip (Sequence
sepforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) forall a b. (a -> b) -> a -> b
$ \Sequence
theme -> Sequence
themeforall a. Monoid a => a -> a -> a
.Sequence
me
    , forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (Sequence
sepforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) Sequence
theme (Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
me) (Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
meforall a. Monoid a => a -> a -> a
.Sequence
me)
    ,      Sequence
themeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
        forall a. Monoid a => a -> a -> a
. Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
        forall a. Monoid a => a -> a -> a
. Sequence
pthemeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence
emeforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence
meforall a. Monoid a => a -> a -> a
.Sequence
sepforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
me
    , forall {sollu}.
SequenceT sollu -> (Sequence -> SequenceT sollu) -> SequenceT sollu
trip (Sequence
sepforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall a b. (a -> b) -> a -> b
$ \Sequence
theme -> Sequence
theme forall a. Monoid a => a -> a -> a
. Sequence
theme' forall a. Monoid a => a -> a -> a
. Sequence
ptheme' forall a. Monoid a => a -> a -> a
. Sequence
theme' forall a. Monoid a => a -> a -> a
. Sequence
ptheme'
    ]
    where
    trip :: SequenceT sollu -> (Sequence -> SequenceT sollu) -> SequenceT sollu
trip SequenceT sollu
sep Sequence -> SequenceT sollu
make = forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin SequenceT sollu
sep (Sequence -> SequenceT sollu
make Sequence
theme) (Sequence -> SequenceT sollu
make Sequence
ptheme) (Sequence -> SequenceT sollu
make Sequence
ptheme)
    theme :: Sequence
theme = forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence
theme_
    ptheme :: Sequence
ptheme = forall sollu. SequenceT sollu -> SequenceT sollu
group (Sequence
repl forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence
theme_)
    theme' :: Sequence
theme' = forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence
theme'_
    ptheme' :: Sequence
ptheme' = forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence
ptheme'_
    eme :: Sequence
eme = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
rtakeM FMatra
8 Sequence
theme -- dropM 8 theme
    me :: Sequence
me = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
rtakeM FMatra
4 Sequence
theme -- dropM 12 theme
    split :: FMatra
-> (SequenceT sollu -> a)
-> (SequenceT sollu -> a)
-> SequenceT sollu
-> a
split FMatra
m SequenceT sollu -> a
a SequenceT sollu -> a
b SequenceT sollu
seq = SequenceT sollu -> a
a SequenceT sollu
pre forall a. Monoid a => a -> a -> a
. SequenceT sollu -> a
b SequenceT sollu
post
        where (SequenceT sollu
pre, SequenceT sollu
post) = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> (SequenceT sollu, SequenceT sollu)
splitM_ FMatra
m SequenceT sollu
seq

-- * sarvalaghu

din_nadin :: Korvai
din_nadin :: Korvai
din_nadin = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS (Int -> Tala
beats Int
4)
    [ forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.Sequence
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.Sequence
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.Sequence
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
l
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
l
    ]

nadin_ka :: Korvai
nadin_ka :: Korvai
nadin_ka = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
5 Int
15 forall a b. (a -> b) -> a -> b
$ Tala -> Sequence -> Korvai
korvaiS1 (Int -> Tala
beats Int
4) forall a b. (a -> b) -> a -> b
$
    Sequence
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.(forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)forall a. Monoid a => a -> a -> a
.(forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
    -- 4 nd to switch to kandam

nadindin :: Korvai
nadindin :: Korvai
nadindin = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
sd
    [ Sequence -> Sequence
template forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh
    , Sequence -> Sequence
template forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
onforall a. Monoid a => a -> a -> a
.Sequence
on) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.Sequence
on
    , Sequence -> Sequence
template forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
o forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
k
    -- TODO if I have a notation for alternatives I could put it in here
    -- melkalam
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
inter forall {g}. Sequence g (Note Stroke)
l forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 forall {g}. Sequence g (Note Stroke)
rh Stack => Sequence -> Sequence -> Sequence
& (forall a. Monoid a => a -> a
r8 forall {g}. Sequence g (Note Stroke)
o forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 forall {g}. Sequence g (Note Stroke)
o)
    -- TODO For the others, I should have a way to intersperse at a certain
    -- speed, or maybe mix together two sequences.  Or maybe I can infer 'l'
    -- for melkalam?
    ]
    where
    template :: Sequence -> Sequence
template Sequence
var = (forall {g}. Sequence g (Note Stroke)
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh) forall a. Monoid a => a -> a -> a
. Sequence
var forall a. Monoid a => a -> a -> a
. (forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
rh) Stack => Sequence -> Sequence -> Sequence
& (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 forall {g}. Sequence g (Note Stroke)
o)
    rh :: Sequence g (Note Stroke)
rh = forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n
    lh :: Sequence g (Note Stroke)
lh = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o

-- | Some patterns are more naturally expressed with negative orientation.
-- I don't have support for that, and I don't even know how I would, but here's
-- a simple motivating example.
nadindin_negative :: Korvai
nadindin_negative :: Korvai
nadindin_negative = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
sd
    [ forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
lh  Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh  forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh
    , forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
lh1 Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh1 forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh
    ]
    where
    -- For this to work right, I need the the duration of each note to be
    -- negative.
    rh1 :: Sequence g (Note Stroke)
rh1 = forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
d) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n -- should be: su n . d.d.n
    lh1 :: Sequence g (Note Stroke)
lh1 = forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o -- should be: su o . o.o.o
    rh :: Sequence g (Note Stroke)
rh = forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n
    lh :: Sequence g (Note Stroke)
lh = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o

namita_dimita :: Korvai
namita_dimita :: Korvai
namita_dimita = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Tala -> Sequence -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
    forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. (Sequence
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh) forall a. Monoid a => a -> a -> a
. (Sequence
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. (Sequence
lh Stack => Sequence -> Sequence -> Sequence
& forall {g}. Sequence g (Note Stroke)
rh)
    where
    rh :: Sequence g (Note Stroke)
rh = forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n
    lh :: Sequence
lh = forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o

namita_dimita_seq :: Korvai
namita_dimita_seq :: Korvai
namita_dimita_seq = Tala -> [Sequence] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$
    [ Sequence -> Sequence -> Sequence
sequence Sequence
t1 Sequence
t1_end
    , Sequence -> Sequence -> Sequence
sequence Sequence
t2 Sequence
t2_end
    , Sequence -> Sequence -> Sequence
sequence Sequence
t3 Sequence
t3_end
    ]
    where
    sequence :: Sequence -> Sequence -> Sequence
sequence Sequence
t Sequence
end =
          (Sequence
lhStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
rh) forall a. Monoid a => a -> a -> a
. (Sequence
lhStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
rh) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. Sequence
t
        forall a. Monoid a => a -> a -> a
. (Sequence
lhStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
rh) forall a. Monoid a => a -> a -> a
. Sequence
t forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. Sequence
t
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 Sequence
t
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) Sequence
end
    t1 :: Sequence
t1 =     forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    t1_end :: Sequence
t1_end = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
l
    t2 :: Sequence
t2 =     forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpk
    t2_end :: Sequence
t2_end = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) forall a. Monoid a => a -> a -> a
. Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpk
    t3 :: Sequence
t3 =     forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpk
    t3_end :: Sequence
t3_end = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall a. Monoid a => a -> a -> a
. Sequence
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktpk

    rh :: Sequence g (Note Stroke)
rh = forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
l
    lh :: Sequence
lh = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__

-- ** sarvalaghu fills

namita_dimita_dimi :: [Sequence]
namita_dimita_dimi :: [Sequence]
namita_dimita_dimi =
    [ forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    , forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
t forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
    -- goes past sam: previous . o.t.k.o&n.kt.p.k
    ]
    where kt :: Sequence g (Note Stroke)
kt = forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
t)

janahan_exercise :: Korvai
janahan_exercise :: Korvai
janahan_exercise = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
janahan forall a b. (a -> b) -> a -> b
$ Tala -> Sequence -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
    forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r7 (forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
p) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k

nakanadin :: Korvai
nakanadin :: Korvai
nakanadin = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Tala -> Sequence -> Korvai
korvaiS1 (Int -> Tala
beats Int
2) forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$
    forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
y

farans :: Korvai
farans :: Korvai
farans = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
faran forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat
    [ forall a b. (a -> b) -> [a] -> [b]
map (Sequence -> Sequence -> Sequence -> Sequence
make (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k))
        [ forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        ]
    , forall a b. (a -> b) -> [a] -> [b]
map (Sequence -> Sequence -> Sequence -> Sequence
make (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k))
        [ forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k -- 11
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k -- 14
        ]
    , forall a b. (a -> b) -> [a] -> [b]
map (Sequence -> Sequence -> Sequence -> Sequence
make (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k))
        [ forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        , forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
        ]
    , [ Sequence -> Sequence -> Sequence -> Sequence
make (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
t) (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) (forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
      , Sequence -> Sequence -> Sequence -> Sequence
make (forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) (forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
      ]
    ]
    where
    make :: Sequence -> Sequence -> Sequence -> Sequence
make Sequence
fill1 Sequence
fill2 Sequence
pattern =
        Sequence
long forall a. Monoid a => a -> a -> a
. Sequence
long
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence
pattern forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence
pattern forall a. Monoid a => a -> a -> a
. Sequence
long
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence
short forall a. Monoid a => a -> a -> a
. Sequence
fill1 forall a. Monoid a => a -> a -> a
. Sequence
long
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 Sequence
short forall a. Monoid a => a -> a -> a
. Sequence
fill2 forall a. Monoid a => a -> a -> a
. Sequence
nakatiku
        where
        long :: Sequence
long = forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence
pattern forall a. Monoid a => a -> a -> a
. Sequence
nakatiku
        short :: Sequence
short = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
6 Sequence
pattern

e_ktkt :: Korvai
e_ktkt :: Korvai
e_ktkt = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS Tala
adi
    [ forall a. Monoid a => a -> a
r2 (forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
kpforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
kpforall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    , forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
p forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r6 (Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
kp) forall a. Monoid a => a -> a -> a
. Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    , forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
p forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
kp forall a. Monoid a => a -> a -> a
. forall b a. Monoid b => (a -> b) -> [a] -> b
cmap forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
hv [forall {g}. Sequence g (Note Stroke)
k, forall {g}. Sequence g (Note Stroke)
t, forall {g}. Sequence g (Note Stroke)
k]forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
p) forall a. Monoid a => a -> a -> a
. Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    , forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
p forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r6 (forall b a. Monoid b => (a -> b) -> [a] -> b
cmap forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
hv [forall {g}. Sequence g (Note Stroke)
k, forall {g}. Sequence g (Note Stroke)
t, forall {g}. Sequence g (Note Stroke)
k]forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
p) forall a. Monoid a => a -> a -> a
. Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    , forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.Sequence
kp forall a. Monoid a => a -> a -> a
. Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
kp) forall a. Monoid a => a -> a -> a
. Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    , forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r6 (forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.Sequence
kp) forall a. Monoid a => a -> a -> a
. Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    , forall {g}. Sequence g (Note Stroke)
n forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
p forall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    , forall {g}. Sequence g (Note Stroke)
n forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r6 (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk
    ]

-- * fragments

eddupu6 :: Korvai
eddupu6 :: Korvai
eddupu6 = Tala -> [Sequence] -> Korvai
korvaiS (Int -> Tala
beats Int
3)
    [ forall a. Monoid a => a -> a
r2 (forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
    , forall a. Monoid a => a -> a
r2 (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o)
    , forall a. Monoid a => a -> a
r3 (forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    , forall a. Monoid a => a -> a
r2 (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
    , forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o
    , forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
n forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence
nakatiku
    ]

eddupu10 :: Korvai
eddupu10 :: Korvai
eddupu10 = Tala -> [Sequence] -> Korvai
korvaiS (Int -> Tala
beats Int
5)
    [ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
uforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
    , forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 forall sollu. SequenceT sollu
p6
    ]