* [Caml-list] [humor] OCaml hip-hop song
@ 2015-12-05 3:57 Nate Foster
2015-12-05 7:14 ` Kevin Chen
0 siblings, 1 reply; 2+ messages in thread
From: Nate Foster @ 2015-12-05 3:57 UTC (permalink / raw)
To: caml-list
[-- 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 --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Caml-list] [humor] OCaml hip-hop song
2015-12-05 3:57 [Caml-list] [humor] OCaml hip-hop song Nate Foster
@ 2015-12-05 7:14 ` Kevin Chen
0 siblings, 0 replies; 2+ messages in thread
From: Kevin Chen @ 2015-12-05 7:14 UTC (permalink / raw)
To: caml-list
[-- Attachment #1: Type: text/plain, Size: 2748 bytes --]
This rap is glorious. What's the story behind it -- was it a planned
part of the lecture?
-Kevin
On Fri, Dec 4, 2015, at 10:57 PM, Nate Foster wrote:
> 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: 3789 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-12-05 7:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-05 3:57 [Caml-list] [humor] OCaml hip-hop song Nate Foster
2015-12-05 7:14 ` Kevin Chen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox