From: Nate Foster <jnfoster@cs.cornell.edu>
To: <caml-list@inria.fr>
Subject: [Caml-list] [humor] OCaml hip-hop song
Date: Fri, 4 Dec 2015 22:57:06 -0500 [thread overview]
Message-ID: <CADy+QO66-pzYNOB1LVYH2z_woF_cVEyqsL4LKkk2Mjy1Aqga0g@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2505 bytes --]
I thought folks might enjoy hearing a new OCaml and Jane Street Async
themed song by MC FloCaml (also known as Jared Wong), as performed in the
final lecture of Michael Clarkson's CS 3110 class this semester at Cornell.
Enjoy,
-N
Video (by Neel Kapse): http://www.cs.cornell.edu/~jnfoster/flocaml.mp4
Music (by Jared Wong): https://soundcloud.com/rangersbeats/flocaml
Lyrics:
Take big steps to eval, like a nomad
Bind and return like a Monad
Got you looking so mad
about the signature I got you using
in the directory with the MLI files the compiler was choosing
The type checks out, I’m feeling greater
Defer the value now and I return a little later
Cuz I’m threaded, so for now I ain’t got much to say
I put a semicolon on to throw the unit away
At this point, I only know what you know that we know
I fill up the Monad like it’s a burrito
And I read it, I’m never defeated, bind and retrieve it
with anonymous functions, so that I’m never gonna leave it behind
And don’t worry, in case you haven’t heard
I’m bout to Ivar.read it and put it up in a deferred
Or I could ref it and bang it for an immutable copy
And just a little later, you can call me A$YNC ROCKY
Try to stop me, I wouldn’t care, I’d be ambivalent
It’s the same game, behavioral equivalence
And I don’t even think that you was all that
Your scheduler was so lonely it couldn’t ever get a callback
And really that’s the kind of thing that you couldn’t handle
Because my double semicolons got them screaming OH CAML
Side effects, catch them all, now you know we got ‘em
All up in UTOP but I started on the bottom
So please take a second and just listen (listen)
Up in your speakers I’m wishin to write a weaker precondition
Took a few small steps, I was feeling like a dope
Now I’m up in OCaml, we using lexical scope
But once again I need to try to understand this,
All these pedantic antics tripping up my semantics
I can stress, how much I really want to do it all
But once it’s said I can’t take it back it’s immutable
And there was only one course plan
Turning twenty-one, going on 3110
But really, at this moment, I’m still living in terror
Because the type checker be giving me compile time errors
The C A M L, with an O at the front
It’s not imperative scaring ya, and we ain’t tryna stunt
Just tryna process every single type to keep it in check
And having higher-order fun with it is just a side effect
[-- Attachment #2: Type: text/html, Size: 3165 bytes --]
next reply other threads:[~2015-12-05 3:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-05 3:57 Nate Foster [this message]
2015-12-05 7:14 ` Kevin Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CADy+QO66-pzYNOB1LVYH2z_woF_cVEyqsL4LKkk2Mjy1Aqga0g@mail.gmail.com \
--to=jnfoster@cs.cornell.edu \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox