Proposal for Presentation: Clojure's Concurrency Types - Refs, Atoms, Agents, and Vars

9 views
Skip to first unread message

Alex

unread,
Jan 25, 2012, 10:47:20 PM1/25/12
to Baltimore Functional Programming
Tonight we discussed trying two new things for February:
- Having a formal session where one member presents to the group,
followed up by Q&A, and some general functional hacking fun. We'll try
and do this the first Wednesday of every month, and the drinkups the
third Wednesday of every month.
- A minimalist formalism of scheduling presentations such that members
post describing their presentation. We use replies to the presentation
threads as a gauge of interest, and the presentation in the queue with
the most interest gets done.

I am up for presenting on Clojure's concurrency types owing to
Blaise's prompting and general curiosity. Subjects I will be covering:

- Programming with values
- State vs. Identity, the foundation upon which Clojure's concurrency
primitives are built.
- Refs: Coordinated, synchronous identities.
- Atoms: Uncoordinated, synchronous identities.
- Agents: Uncoordinated, asynchronous identities.
- Vars: Localized identities.

I'll come up with some contrived examples that are slightly less
contrived and slightly more compelling, by my own judgments of
compelling and contrived, than in 'Programming Clojure' or 'The Joy of
Clojure'.

They'll still be rubbish, though.

-Alex

Gary Trakhman

unread,
Jan 26, 2012, 5:55:30 AM1/26/12
to balti...@googlegroups.com
Blaine, not Blaise :-)

Totally interested, though I realized that 1st Wednesday is a week from now.  Are you comfortable with that or should we push it back?

Gary Trakhman

unread,
Jan 26, 2012, 6:28:16 AM1/26/12
to balti...@googlegroups.com
Also, I think I can rig up a recording solution with my point-and-shoot, a lapel mic and my guitar amp.

John Szakmeister

unread,
Jan 26, 2012, 6:45:41 AM1/26/12
to balti...@googlegroups.com
On Wed, Jan 25, 2012 at 10:47 PM, Alex <aredi...@gmail.com> wrote:
[snip]

> - Programming with values
> - State vs. Identity, the foundation upon which Clojure's concurrency
> primitives are built.
> - Refs: Coordinated, synchronous identities.
> - Atoms: Uncoordinated, synchronous identities.
> - Agents: Uncoordinated, asynchronous identities.
> - Vars: Localized identities.
>
> I'll come up with some contrived examples that are slightly less
> contrived and slightly more compelling, by my own judgments of
> compelling and contrived, than in 'Programming Clojure' or 'The Joy of
> Clojure'.
>
> They'll still be rubbish, though.

:-) Sounds like a good talk. I hope I can make it for the next presentation!

-John

Blaine Nelson

unread,
Jan 26, 2012, 9:53:46 AM1/26/12
to Baltimore Functional Programming
Yes, I'm looking forward to the talk.

Gary, thanks for the name correction. That said, I thought it sort of
a happy accident. Blaise is cooler than Blaine for a number of
reasons.

On Jan 26, 6:45 am, John Szakmeister <j...@szakmeister.net> wrote:

Gary Trakhman

unread,
Jan 26, 2012, 10:19:38 AM1/26/12
to balti...@googlegroups.com
Yes, I wish I could be mistaken for Pascal, but no such luck :-)

Alex

unread,
Jan 26, 2012, 7:44:04 PM1/26/12
to Baltimore Functional Programming
I've been contemplating and researching it since December, so it's
mostly just a matter of setting up the presentation. Which shouldn't
be too bad. I'll make some example clojure source that will (on my
machine) demonstrate how the concurrency types can ensure correctness.
I'll also try and generate some comparison cases to highlight how they
compare against each other.

Alex

unread,
Jan 27, 2012, 9:58:06 AM1/27/12
to Baltimore Functional Programming
Also let's announce this one, along with the location, some time today
to give people a heads up. :)

Gary Trakhman

unread,
Jan 27, 2012, 10:41:08 AM1/27/12
to balti...@googlegroups.com
Yea, we'll be good to go. Been working out the details in the back of
my mind, I'll put up an announcement promptly.
Reply all
Reply to author
Forward
0 new messages