Skip to content

Instantly share code, notes, and snippets.

@Emersont1
Created May 30, 2021 15:08

Revisions

  1. Emersont1 created this gist May 30, 2021.
    21 changes: 21 additions & 0 deletions DaftPunk.hs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    -- Daft Punk

    wmdm = ["work it ","make it ","do it ","makes us "]
    hbfs = ["harder","better","faster","stronger"]
    mteha = [("more than ", "ever"), ("hour ", "after")]
    hwino = [("hour ", "work is"), ("never ", "over")]
    intro = wmdm ++ hbfs ++ map fst (mteha ++ hwino) ++ map snd (mteha ++ hwino) ++ wmdm ++ hbfs
    chorus = zipWith (++) wmdm hbfs ++ fmap combine (mteha ++ hwino)
    chorusalt = zipWith (++) wmdm ("":tail hbfs) ++ fmap combine (mteha ++ hwino)
    outro = evens (zipWith (++) wmdm hbfs) ++ fmap combine (head mteha:hwino)


    song = intro ++ take 7 chorus ++ chorusalt ++ take 4 chorus ++ outro++chorus

    evens (x:xs) = x:odds xs
    evens _ = []

    odds (_:xs) = evens xs
    odds _ = []

    combine (x, y) = x++y