-- Copyright 2017 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

-- | Sarvalaghu.
module Solkattu.Score.MridangamSarva where
import Prelude hiding ((.), repeat)

import qualified Solkattu.Tala as Tala

import Global
import Solkattu.Dsl.Mridangam


-- * kirkalam

-- TODO these don't need to be a full avartanam, only a binary factor of it

kir1 :: Korvai
kir1 :: Korvai
kir1 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$
    [ forall a. Monoid a => Int -> a -> a
repeat Int
4 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => Int -> a -> a
repeat Int
2 (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)
d) Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& (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)
oforall 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)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) -- takadimi takajonu
    ]

kir2 :: Korvai
kir2 :: Korvai
kir2 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => Int -> a -> a
repeat Int
2 Sequence Group (Note Stroke)
sarva forall a. a -> [a] -> [a]
: forall a b. (a -> b) -> [a] -> [b]
map (Sequence Group (Note Stroke), Sequence Group (Note Stroke))
-> Sequence Group (Note Stroke)
pattern [(Sequence Group (Note Stroke), Sequence Group (Note Stroke))]
prefixes
    where
    pattern :: (Sequence Group (Note Stroke), Sequence Group (Note Stroke))
-> Sequence Group (Note Stroke)
pattern (Sequence Group (Note Stroke)
prefix, Sequence Group (Note Stroke)
end) =
        (forall a. Monoid a => Int -> a -> a
repeat Int
2 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
sarva) forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceEnd` Sequence Group (Note Stroke)
end
    -- takatadin or nakanadin
    sarva :: Sequence Group (Note Stroke)
sarva = forall a. Monoid a => Int -> a -> a
repeat Int
2 (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)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
d) Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& (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)
oforall 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 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)
o) forall a. Monoid a => a -> a -> a
. (Sequence Group (Note Stroke)
onforall 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)
d) 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)
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)
d)
    prefixes :: [(Sequence Group (Note Stroke), Sequence Group (Note Stroke))]
prefixes = forall a b. (a -> b) -> [a] -> [b]
map (forall (p :: * -> * -> *) a b c d.
Bifunctor p =>
(a -> b) -> (c -> d) -> p a c -> p b d
bimap forall g sollu. Sequence g sollu -> Sequence g sollu
su forall g sollu. Sequence g sollu -> Sequence g sollu
su)
        [ (Sequence Group (Note Stroke)
takadinna, Sequence Group (Note Stroke)
takadinna forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
3 (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)
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)
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)
n 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 => Int -> a -> a
repeat Int
4 (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)
n))
        , (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 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 => Int -> a -> a
repeat Int
4 (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)
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)
k, forall a. Monoid a => Int -> a -> a
repeat Int
4 (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)
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)
k, forall a. Monoid a => Int -> a -> a
repeat Int
4 (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 {g}. Sequence g (Note Stroke)
dinna_kitataka, forall a. Monoid a => Int -> a -> a
repeat Int
2 forall {g}. Sequence g (Note Stroke)
dinna_kitataka 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)
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)
dinna_kitataka)
        , let nknk :: Sequence Group (Note Stroke)
nknk = forall {g}. Sequence g (Note Stroke)
oStack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
&forall {g}. Sequence g (Note Stroke)
jforall 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)
oStack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
&forall {g}. Sequence g (Note Stroke)
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
y
            in (Sequence Group (Note Stroke)
nknk, Sequence Group (Note Stroke)
nknkforall 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
.Sequence Group (Note Stroke)
nknkforall 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
.Sequence Group (Note Stroke)
nknk)
        ]
    dinna_kitataka :: Sequence g (Note Stroke)
dinna_kitataka = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n forall a. Monoid a => a -> a -> a
. 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)

kir3 :: Korvai
kir3 :: Korvai
kir3 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => Int -> a -> a
repeat Int
2 forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => Int -> a -> a
repeat Int
2 (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)
n) Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& (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 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 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 a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o)
    forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
2 (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)
n) Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. Int -> SequenceT sollu
__n Int
8)
    -- can end with faran: oonnpktk naka

kir4 :: Korvai
kir4 :: Korvai
kir4 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
      Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
o

kir5 :: Korvai
kir5 :: Korvai
kir5 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
      Sequence Group (Note Stroke)
nknd Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& (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)
oforall 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)
oforall 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
. Sequence Group (Note Stroke)
nknd Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& (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)
oforall 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)
oforall 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
. Sequence Group (Note Stroke)
nknd Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall sollu. Int -> SequenceT sollu
__n Int
8)            forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
nknd
    where
    nknd :: Sequence Group (Note Stroke)
nknd = 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)
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)
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
__

-- * melkalam

mel1 :: Korvai
mel1 :: Korvai
mel1 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => Int -> a -> a
repeat Int
4 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Stroke)
pkforall 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 -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
on forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
pk
    -- ta din ta din takadin ta din

mel2 :: Korvai
mel2 :: Korvai
mel2 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> 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 => Int -> a -> a
repeat Int
2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => Int -> a -> a
repeat Int
3 (forall {g}. Sequence g (Note Stroke)
yjyjforall 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 stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt 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)
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)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)
    where yjyj :: Sequence g (Note Stroke)
yjyj = forall {g}. Sequence g (Note Stroke)
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
jforall 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)
j

-- reduce with kir2 and kir5

dinna_kitataka :: Korvai
dinna_kitataka :: Korvai
dinna_kitataka = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$
    forall a b. (a -> b) -> [a] -> [b]
map (forall sollu.
(Stack, Pretty sollu) =>
Tala -> SequenceT sollu -> SequenceT sollu
sarvaSam Tala
adi) [Sequence Group (Note Stroke)]
patterns
    where
    patterns :: [Sequence Group (Note Stroke)]
patterns = forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
su
        [ forall a. Monoid a => Int -> a -> a
repeat Int
4 forall {g}. Sequence g (Note Stroke)
dinna
        , forall a. Monoid a => Int -> a -> a
repeat Int
2 (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)
dinna)forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dinna
        , forall a. Monoid a => Int -> a -> a
repeat Int
2 (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)
dinna) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
dinna
        , forall a. Monoid a => Int -> a -> a
repeat Int
2 (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)
kttk) forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
dinna
        , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (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)
dinna
        ]
    kttk :: Sequence g (Note Stroke)
kttk = 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)
    dinna :: Sequence g (Note Stroke)
dinna = 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)
kttk

farans :: Korvai
farans :: Korvai
farans = Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
faran forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$
    [ Sequence Group (Note Stroke)
long forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
long
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
4 (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 a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
long
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
2 (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) 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)
t forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
long
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
2 (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 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)
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 a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
long
    ]
    where
    long :: Sequence Group (Note Stroke)
long = 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)
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
.Sequence Group (Note Stroke)
nakatiku


-- * ganesh

kir6 :: Korvai
kir6 :: Korvai
kir6 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
8 Int
29 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$
    [ Sequence Group (Note Stroke)
both forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
o1 Sequence Group (Note Stroke)
rh
        -- TODO second half has D after prefix
        -- I could maybe do that by having transparent strokes, so I could
        -- add the trailing thom.  But it's seems over general for this
        -- specific case, e.g. I don't see how solkattu would support it.
    , Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
both forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
rh
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
2 (Sequence Group (Note Stroke)
prefix 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
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
l) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
rh
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
both forall a. Monoid a => a -> a -> a
. (Sequence Group (Note Stroke)
prefix forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
prefix) forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
rh
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
2 Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
both
            forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
2 Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
rh
        forall a. Monoid a => a -> a -> a
. (forall a. Monoid a => Int -> a -> a
repeat Int
2 Sequence Group (Note Stroke)
prefix forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (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)
k) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
prefix) forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
both
            forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
rh
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
2 Sequence Group (Note Stroke)
prefix forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
5 (forall g sollu. Sequence g sollu -> Sequence g sollu
su (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)
k)) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
prefix forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceStart` Sequence Group (Note Stroke)
rh
    ]
    where
    rh :: Sequence Group (Note Stroke)
rh = 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 {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)
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)
l 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 {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)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
l
    lh :: Sequence Group (Note Stroke)
lh = Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
thomLH Sequence Group (Note Stroke)
rh
    both :: Sequence Group (Note Stroke)
both = Sequence Group (Note Stroke)
rh Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& Sequence Group (Note Stroke)
lh
    prefix :: Sequence Group (Note Stroke)
prefix = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ 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)
k -- din dinataka

kir_misra_1 :: Korvai
kir_misra_1 :: Korvai
kir_misra_1 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
8 Int
29 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
Tala.misra_chapu forall a b. (a -> b) -> a -> b
$
    forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
rh Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
thomLH forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
o1 forall {g}. Sequence g (Note Stroke)
rh
    where 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)
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)
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)
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)
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)
l

-- | Misra version of nddnnddn.
kir_misra_2 :: Korvai
kir_misra_2 :: Korvai
kir_misra_2 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
9 Int
26 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
Tala.misra_chapu forall a b. (a -> b) -> a -> b
$
    forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ forall {g}. Sequence g (Note Stroke)
rh Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
thomLH forall {g}. Sequence g (Note Stroke)
rh forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
o1 forall {g}. Sequence g (Note Stroke)
rh
    where 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)
n forall a. Monoid a => a -> a -> a
. 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)
n) 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)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
n

c_17_10_23a :: Korvai
c_17_10_23a :: Korvai
c_17_10_23a = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
10 Int
23 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => Int -> a -> a
repeat Int
2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => Int -> a -> a
repeat Int
3 forall {g}. Sequence g (Note Stroke)
cell 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)
d forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (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)
    where
    cell :: Sequence g (Note Stroke)
cell = 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 sollu. Sequence g sollu -> Sequence g sollu
su (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)
d

c_17_10_23b :: Korvai
c_17_10_23b :: Korvai
c_17_10_23b = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
10 Int
23 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> 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 => Int -> a -> a
repeat Int
2 forall a b. (a -> b) -> a -> b
$ 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)
kforall 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)
k forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
3 (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)
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)
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)
k)

-- * kandam

c_kandam1 :: Korvai
c_kandam1 :: Korvai
c_kandam1 = Korvai -> Korvai
elaforge forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
3 Int
10 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$ forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
5 forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => a -> a
r3 Sequence Group (Note Stroke)
"dlNN," forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"d_pkD_N_,_"
    forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Stroke)
"dlNN," forall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"d_pkD_N_,_" forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"d,p,D_N,n,"

c_kandam_tisram :: Korvai
c_kandam_tisram :: Korvai
c_kandam_tisram = Korvai -> Korvai
elaforge forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
3 Int
10 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => a -> a
r3 Sequence Group (Note Stroke)
"dlNN," forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"d_pkD_N_,_"  forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"d,^,d,n,^,"
    forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"k_p_n_ktpkptok")

-- * misra

c_18_05_25 :: Korvai
c_18_05_25 :: Korvai
c_18_05_25 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
5 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
Tala.misra_chapu forall a b. (a -> b) -> a -> b
$
    forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$
      forall {g}. Sequence g (Note Stroke)
o forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
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
.Sequence Group (Note Stroke)
onforall 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)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
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
. Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
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
.Sequence Group (Note Stroke)
onforall 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)
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
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
. Sequence Group (Note Stroke)
onforall 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)
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)
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)
dforall 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)
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)
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)
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)
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 {g}. Sequence g (Note Stroke)
kforall 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)
kforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
onforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
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)
k