A complete draft of Elements of Clojure is now available

1,606 views
Skip to first unread message

Zach Tellman

unread,
Mar 15, 2018, 4:38:05 PM3/15/18
to Elements of Clojure
A complete draft of Elements of Clojure is now available.  For those of you who purchased a copy a while back, but never read it, there's no time like the present.  As always, thank you for your support and patience.

Some preemptive answers to possible responses:

- So it's completely done?

Mostly.  I have outlines for several appendices, and there are some sections in the second chapter ("Idioms") which also need to be written.  All of these, however, are standalone pieces of content; as they're added, you won't have to read the surrounding text to appreciate them.  I'm calling this a complete draft because the core concepts of the book have been completely articulated.

There's no set date for a final release of the book.  I'll likely have some edits for the last chapter once I've mulled over it, and once all the writing is done I'll need to find a good technical copyeditor to review the manuscript.  These will all happen in due time. 

- Why did it take so long?

Admittedly, two years is a long time to spend writing 25000 words.  One reason for this is that I wanted the book to be as short as possible.  I think most technical books offer very little to people who have already learned the basics; once you've read one book on a given topic, you tend to skim all the others.  I wanted my book to be dense, allusive, and to reward careful reading.  This style of writing is just more time-consuming.

A more important reason, however, is that I started writing this book with more questions than answers.  My initial research uncovered even more fundamental questions, and it took me a while to dig myself out from underneath all of it.  I could have picked my battles more carefully, but I think (hope) that the book is better for the time I spent on it.

- I've already read the drafts, what's new?

If you read the most recent draft released in September, you should read the updated introduction, the last section of the third chapter (Systems of Abstractions), and the fourth chapter.  If you read an earlier draft, you should re-read the entire third chapter.

- I really like this book!

Thank you!  Please consider adding a rating or review on Goodreads: https://www.goodreads.com/book/show/31159768-elements-of-clojure.  Some people have also started reading groups at their workplaces, and I'm happy to answer any questions that might arise from them.

Also, I've been thinking about putting together a day-long training based on the material in the book.  If you think your company might be interested in that, let me know.  

- I found parts of the book to be confusing or irrelevant.

I'm sorry to hear that.  If you have the time, please post to this group or email me directly with your thoughts.  The fundamental nature of the book isn't going to change much at this point, but I think there's still definite room for improvement.

---

Enjoy!



Message has been deleted

Erik Assum

unread,
Mar 15, 2018, 5:08:02 PM3/15/18
to Elements of Clojure
Very superficial, but still. In the introduction, you’re mixing “cannot” and “do not” with “doesn’t” and “it’s“.

I don’t mind the “doesn’t“, but the “it’s” in the beginning of the fourth paragraph is disturbing to me :)

Erik.

Manuel Uberti

unread,
Mar 15, 2018, 5:13:32 PM3/15/18
to Elements of Clojure
This is great news, Zach. Thanks so much for the hard work. I know what I'll be doing this weekend.

Zach Tellman

unread,
Mar 15, 2018, 5:22:45 PM3/15/18
to Erik Assum, Elements of Clojure
Yeah, I need to do a copy editing pass on contractions all through the book, I’ve just put it off endlessly. Thanks for confirming it bothers people other than me. 

--
You received this message because you are subscribed to the Google Groups "Elements of Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clo...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elements-of-clojure/9b5bfbd5-341e-42df-9bdd-9fa704102192%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Message has been deleted

Erik Assum

unread,
Mar 15, 2018, 5:33:09 PM3/15/18
to Elements of Clojure
Oh, and the indentation of the web code in chapter 4 seems to be a bit off. I’d expect request and request->query to line up.

Might be that it’s because I’m reading this on my phone.

Zach Tellman

unread,
Mar 15, 2018, 5:38:35 PM3/15/18
to Erik Assum, Elements of Clojure
Oh, that's just my preferred indentation style, two spaces everywhere for everything.  This is used in all my open source projects: https://github.com/ztellman/aleph/blob/master/project.clj#L48.

On Thu, Mar 15, 2018 at 2:33 PM Erik Assum <er...@assum.net> wrote:
Oh, and the indentation of the web code in chapter 4 seems to be a bit off. I’d expect request and request->query to line up.

Might be that it’s because I’m reading this on my phone.

--
You received this message because you are subscribed to the Google Groups "Elements of Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clo...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.

Zach Tellman

unread,
Mar 16, 2018, 6:56:49 AM3/16/18
to James Burley, Elements of Clojure
Hi James,

You’ll need to buy a copy at https://leanpub.com/elementsofclojure

Best,
Zach

On Fri, Mar 16, 2018 at 3:37 AM James Burley <james.cra...@gmail.com> wrote:
This is great news! But...I'm really new to this (as in, joined a few minutes ago)...so:

How/where to get the draft to review??
--
You received this message because you are subscribed to the Google Groups "Elements of Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clo...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.

Zach Tellman

unread,
Mar 16, 2018, 12:43:06 PM3/16/18
to Elements of Clojure
In response to a few people asking about a table of contents, I've added one in and republished the manuscript.  If you download it again from Leanpub, there should be a proper TOC at the beginning.

Erik Assum

unread,
Mar 17, 2018, 4:45:32 PM3/17/18
to Elements of Clojure
Still struggling with your indentation policy,
but I still managed to find this on what appears to be page 86:
«by consuming an lazy-seq»

Erik.
Message has been deleted

Zach Tellman

unread,
Mar 20, 2018, 11:13:11 AM3/20/18
to Arun s.k, Elements of Clojure
To understand the core concepts, the basics of Clojure should suffice, even if they're rusty.  This is aimed at intermediate Clojure programmers, however, so there may be a few finer points hat don't connect.

A good reference for the language is the O'Reilly book, "Programming Clojure".  

On Tue, Mar 20, 2018 at 8:08 AM Arun s.k <aruns...@gmail.com> wrote:
Hi Zach - I am planning to buy this book. My Clojure is rusty though. What level of Clojure knowledge does this book require ? Also, any suggestion for a good modern Clojure book ?

Thanks,
Arun


On Thursday, March 15, 2018 at 4:38:05 PM UTC-4, Zach Tellman wrote:
--
You received this message because you are subscribed to the Google Groups "Elements of Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clo...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.

Zach Tellman

unread,
Mar 20, 2018, 11:56:06 PM3/20/18
to James Burley, Arun s.k, Elements of Clojure
Thank you!
On Tue, Mar 20, 2018 at 1:23 PM James Burley <james.cra...@gmail.com> wrote:
Hi Zach!

Enjoyed reading this book. Couldn't help editing it a bit (I did a stint as a tech writer decades ago). If you're interested, the edited version is here:


Hope this helps.

Thanks, and looking forward to the final version!

--
You received this message because you are subscribed to a topic in the Google Groups "Elements of Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elements-of-clojure/t_Uqc8F0Ch0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elements-of-clo...@googlegroups.com.

To post to this group, send email to elements-...@googlegroups.com.

James Burley

unread,
Mar 23, 2018, 1:29:16 PM3/23/18
to Zach Tellman, Arun s.k, Elements of Clojure
Hi Zach!

Enjoyed reading this book. Couldn't help editing it a bit (I did a stint as a tech writer decades ago). If you're interested, the edited version is here:


Hope this helps.

Thanks, and looking forward to the final version!
On Tue, Mar 20, 2018 at 11:12 AM, Zach Tellman <ztel...@gmail.com> wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clojure+unsub...@googlegroups.com.
To post to this group, send email to elements-of-clojure@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Elements of Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elements-of-clojure/t_Uqc8F0Ch0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elements-of-clojure+unsub...@googlegroups.com.
To post to this group, send email to elements-of-clojure@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elements-of-clojure/CADj9HBwG20VNTDz%3DbAv%2Bpr-k4jj%3DF3-ZStgQuoRMyOk7k7Fk%3DQ%40mail.gmail.com.

Zach Tellman

unread,
Mar 23, 2018, 1:33:58 PM3/23/18
to Elements of Clojure
It's looking like some messages are getting automatically put into a moderation queue, and even once I approve them are not visible in this thread.  I'm not sure what's going on, but I apologize to anyone who tried to post to this thread and saw their message go missing.


On Thursday, March 15, 2018 at 1:38:05 PM UTC-7, Zach Tellman wrote:
Message has been deleted

James Burley

unread,
May 1, 2018, 12:55:05 PM5/1/18
to C, Elements of Clojure
Thanks -- I think I just fixed that. Please confirm.

On Fri, Apr 27, 2018 at 6:02 PM, C <conor...@gmail.com> wrote:
FYI..

That Dropbox pdf link to your edited version of the book is still active (& open to the world).



On Friday, 23 March 2018 17:29:16 UTC, James Burley wrote:
Hi Zach!

Enjoyed reading this book. Couldn't help editing it a bit (I did a stint as a tech writer decades ago). If you're interested, the edited version is here:

https://[redacted]
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clojure+unsubscribe...@googlegroups.com.

To post to this group, send email to elements-...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Elements of Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elements-of-clojure/t_Uqc8F0Ch0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elements-of-clojure+unsubscribe...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Elements of Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elements-of-clojure/t_Uqc8F0Ch0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elements-of-clojure+unsub...@googlegroups.com.
To post to this group, send email to elements-of-clojure@googlegroups.com.

Zach Tellman

unread,
May 1, 2018, 1:31:24 PM5/1/18
to James Burley, C, Elements of Clojure
It's no longer available.  Thank you both for catching this, and for the quick resolution.

To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clo...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Elements of Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elements-of-clojure/t_Uqc8F0Ch0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elements-of-clo...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Elements of Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/elements-of-clojure/t_Uqc8F0Ch0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to elements-of-clo...@googlegroups.com.
To post to this group, send email to elements-...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Elements of Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elements-of-clo...@googlegroups.com.

To post to this group, send email to elements-...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages