Created
December 21, 2015 17:06
-
-
Save runjak/19e37fec2b475aa6eac8 to your computer and use it in GitHub Desktop.
HIM - Join Me In Death
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Main where | |
{-| HIM - Join Me In Death |-} | |
txt = [ "Baby join me in death" | |
, "Won't you die" | |
, "this life ain't worth living" | |
, "We are so young" | |
, "our lives have just begun" | |
, "but already we are considering" | |
, "escape from this world", "" | |
, "and we've waited for so long" | |
, "for this moment to come" | |
, "we're so anxious to be together" | |
, "together in death" | |
, "This world is a cruel place" | |
, "and we're here only to lose" | |
, "so before life tears us apart let" | |
, "death bless me with you"] | |
chorus w = lines . unlines . zipWith (\x y -> x++"\n"++y) (take 3 $ cycle [w++" tonight for love", w]) | |
bridge x y = [x, (take 9 x)++" it"++(drop 9 x)] | |
++ (concat $ replicate 2 $ (replicate 2 $ take 7 $ drop 5 y)++[x]) | |
lyrics = let (nl,js) = ([""],cycle [txt!!0]) | |
in concat [ take 3 js, nl | |
, take 9 $ drop 3 txt, nl, chorus (txt!!1) js, nl | |
, drop 12 txt, nl, take 5 $ chorus (txt!!1) js | |
, [("And j"++) $ drop 6 $ head $ tail $ chorus (txt!!1) js] | |
, [("J"++) $ drop 6 $ head $ tail $ chorus (txt!!1) js] | |
, nl, bridge (txt!!2) (txt!!0), nl, chorus (txt!!1) js, nl | |
, [head $ tail $ chorus (txt!!1) js] | |
] | |
main = mapM_ putStrLn lyrics |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment