Last active
May 3, 2022 06:58
-
-
Save chshersh/94760018796e27ba062a7e4643129996 to your computer and use it in GitHub Desktop.
Chords to the "Welcome to the Haskell-land (a Bo Burnham parody)" song
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
Performance: | |
* https://youtu.be/Uy08hw1ZyCM | |
Chords are taken from the original song: | |
* https://tabs.ultimate-guitar.com/tab/bo-burnham/welcome-to-the-internet-chords-3732602 | |
Strumming: | |
* First half: Up - Muted (^ - x - ^ - x - ^ - x) | |
* Second half: Up - Down - Down (^ - V - V - ^ - V - V - ^ - V - V) | |
[Verse 1] | |
Dm | |
Welcome to the Haskell-land! Have a look around | |
Gm | |
Any abstract nonsense you can think of can be found | |
F | |
We've got Monads and Monoids — some better, some worse | |
A7 | |
If none of it's of interest to you, you'd be the first | |
[Verse 2] | |
Dm | |
Welcome to the Haskell-land! Are you ready to sweat? | |
Gm | |
Would you like to use a library designed by Edward Kmett? | |
F | |
It's just GHC panic; not a failed test, haha | |
A7 | |
Just show us Haskell Core, and we'll do the rest | |
[Verse 3] | |
Dm | |
Welcome to thе Haskell-land! What would you prefеr? | |
Gm | |
Would you like to bump dependencies or whine about the churn? | |
F | |
Build quickly! Build slowly! Build all on CI! | |
A7 | |
We've got a million different ways to compile | |
[Verse 4] | |
Dm | |
Welcome to the Haskell-land! Put your cares aside | |
Gm | |
Here's a tip for static linking; here's worker thread that died | |
F | |
We've got Functors, Adjunctions and Tardis monad | |
A7 | |
And a bunch of recursion schemes with bananas, lenses, envelopes, prepromorphisms calling each other | |
[Verse 5] | |
Dm | |
Welcome to the Haskell-land! Hold on to your socks | |
Gm | |
'Cause a random guy just kindly sent you proof written in Coq | |
F | |
It is grainy and off-putting; he just sent you more | |
A7 | |
Don't act surprised—you know you like it, you nerd | |
[Verse 6] | |
Dm | |
Your lib is deprecated and rejected by admin | |
Gm | |
Show us pictures of your errors, tell us every log you see | |
F | |
Make a good deed, get offended, ask for pity on your Twitter | |
A7 | |
Or create new Haskell commmitee to make a sloth new mascot in your— | |
[Verse 7] | |
Dm | |
Here's a new effects framework, you should force your thunk | |
Gm | |
Here's why you don't hear from women; here's how you can see segfault | |
F | |
Which Haskell Typeclass are you? Take this quirky quiz | |
A7 A7 Gm F E Dm | |
Maintainer used Generics to slow down all your builds | |
[Chorus] | |
Dm | |
Could I interest you in error-handling at compile-time? | |
Gm | |
A little bit of error-handling at compile-time? | |
F | |
Boilerplate is tragedy, dynamic types are crime | |
A7 | |
Error-handling and exceptions at compile-time | |
Dm | |
Could I interest you in error-handling at compile-time? | |
Gm | |
A little bit of error-handling at compile-time? | |
F | |
Boilerplate is tragedy, dynamic types are crime | |
A7 | |
Error-handling and exceptions at compile-time | |
Dm C Bb A7 | |
[Spoken Interlude] | |
Dm C Bb A7 | |
You know, it wasn't always like this | |
[Bridge] | |
Dm C Bb A7 | |
Not very long ago, just before you came | |
Dm C Bb A7 | |
Right before Ivory Tower fell, circa '98 | |
Gm Dm A7 Dm | |
This was mailing lists, RSS feeds, an IRC room or two | |
Gm Dm A7 C7 | |
We set our sights and spent our nights building! | |
Fmaj7 | |
With you | |
Dm7 | |
You | |
Gm7 C7 | |
Insatiable you | |
Fmaj7 Dm7 Gm7 C7 | |
Simon let us use compiler; it was barely 6.2 | |
Dm Dmaj7/C# Dm7/C Bb | |
And it did all the things we designed it to do | |
Bb | |
Now, look at you! | |
C | |
Oh, look at you! | |
D | |
You | |
Gma7 Em7 | |
you! | |
Am7 D7 | |
Researchable, watchable | |
Gmaj7 Em7 Am7 D7 | |
With LinearTypes and proper records, honey, how you grew | |
Em7 Emmaj7/D# Em7/D A | |
And if we stick together, who knows what we'll do? | |
C D B7 C | |
It was always the plan to build the world with your help | |
[Break] | |
(*Laughs*) | |
Em Em/B Em Em/B Em Em/B Em Em/B | |
[Chorus] | |
Em | |
Could I interest you in error-handling at compile-time? | |
Am | |
A little bit of error-handling at compile-time? | |
G | |
Boilerplate is tragedy, dynamic types are crime | |
B7 | |
Error-handling and exceptions at compile-time | |
Em | |
Could I interest you in error-handling at compile-time? | |
Am | |
A little bit of error-handling at compile-time? | |
G | |
Boilerplate is tragedy, dynamic types are crime | |
B7 | |
Error-handling and exceptions | |
Error-handling and exceptions | |
Error-handling and exceptions | |
Em | |
At compile-time |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment