[ANN] Elements of Clojure

688 views
Skip to first unread message

Zach Tellman

unread,
Mar 17, 2016, 1:47:55 PM3/17/16
to Clojure
I'm writing a book about Clojure, aimed at people who already know the core concepts, and want to use them more effectively.  The first chapter, "Names", is complete and can be read for free.  Details can be found at http://elementsofclojure.com/.  

I'm happy to answer any questions here, or on the book's mailing list at https://groups.google.com/forum/#!forum/elements-of-clojure.

JvJ

unread,
Mar 17, 2016, 3:10:00 PM3/17/16
to Clojure
So far, this appears to be primarily focused on style and programming practice.  Is that going to be the primary focus of the book?

Gregg Reynolds

unread,
Mar 17, 2016, 4:03:51 PM3/17/16
to clo...@googlegroups.com


On Mar 17, 2016 2:10 PM, "JvJ" <kfjwh...@gmail.com> wrote:
>
> So far, this appears to be primarily focused on style and programming practice.  Is that going to be the primary focus of the book?

that would be a Fine Thing, imo.  but maybe you should call it "Elements of Clojure Style."


>
>
> On Thursday, 17 March 2016 10:47:55 UTC-7, Zach Tellman wrote:
>>
>> I'm writing a book about Clojure, aimed at people who already know the core concepts, and want to use them more effectively.  The first chapter, "Names", is complete and can be read for free.  Details can be found at http://elementsofclojure.com/.  
>>
>> I'm happy to answer any questions here, or on the book's mailing list at https://groups.google.com/forum/#!forum/elements-of-clojure.
>

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Torsten Uhlmann

unread,
Mar 17, 2016, 4:17:55 PM3/17/16
to clo...@googlegroups.com
Just started reading the first chapter.
It makes it even more appealing that the taught techniques are applicable to other programming languages as well.
I like the angle the book presents!

Torsten.

Alex Miller

unread,
Mar 17, 2016, 4:53:04 PM3/17/16
to Clojure
Great to see another book for intermediate level!

Zach Tellman

unread,
Mar 17, 2016, 5:48:21 PM3/17/16
to clo...@googlegroups.com
To quote from the introduction:

> Where possible, this book will give specific, prescriptive advice on how to write idiomatic Clojure. Everywhere else, it will describe the space of possible approaches, and provide a framework for deciding which to use.

In my mind, a style guide confines itself to prescriptive advice, and ignores anything which doesn't lend itself to that.  The latter part, which is definitely demonstrated in the first chapter, makes this more than a book about style.

However, it is definitely focused on giving practical advice about how to write Clojure.  I would hope that the material isn't too surprising, given the introduction.  If you feel like something is unclear or misleading, please let me know what it is.

Zach

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/Nh_Z0XaxhTA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.

Erik Assum

unread,
Mar 17, 2016, 5:56:01 PM3/17/16
to clo...@googlegroups.com
Having just finished the first chapter, I must congratulate you with the best software writing I have read in a long while, maybe ever. 

I really enjoy how you discuss naming and only use Clojure as a vehicle to illustrate your points. The ideas you put forward should be applicable to any language, even though their implementation would differ. 

I am really looking forward to reading the rest of the book!

Erik. 
-- 
i farta

Den 17. mar. 2016 kl. 18.47 skrev Zach Tellman <ztel...@gmail.com>:

I'm writing a book about Clojure, aimed at people who already know the core concepts, and want to use them more effectively.  The first chapter, "Names", is complete and can be read for free.  Details can be found at http://elementsofclojure.com/.  

I'm happy to answer any questions here, or on the book's mailing list at https://groups.google.com/forum/#!forum/elements-of-clojure.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.

Rangel Spasov

unread,
Mar 18, 2016, 1:29:28 AM3/18/16
to Clojure
Zach - that's great, can't wait to read all of it!

Rangel

Mars0i

unread,
Mar 18, 2016, 2:08:51 AM3/18/16
to Clojure
Strunk didn't call his book "Elements of English".


On Thursday, March 17, 2016 at 4:48:21 PM UTC-5, Zach Tellman wrote:
> Where possible, this book will give specific, prescriptive advice on how to write idiomatic Clojure. Everywhere else, it will describe the space of possible approaches, and provide a framework for deciding which to use.

I don't think that Strunk and White provided a framework, nor did they fully delineate a space of possible approaches, but they did do something like that.
 
In my mind, a style guide confines itself to prescriptive advice, and ignores anything which doesn't lend itself to that.  The latter part, which is definitely demonstrated in the first chapter, makes this more than a book about style.

Maybe this is what's conveyed in some programming contexts, and perhaps that's reason enough not to use "style" in your title, but "style" doesn't convey that in general.
 
However, it is definitely focused on giving practical advice about how to write Clojure. 

That's certainly part of what S&W wanted to do for English.

Maybe Elements of Clojure Style or Clojure Elements of Style  could be reasonable options.   Not my choice nor my job to decide on your title.  Of course. :-)

Glen Mailer

unread,
Mar 18, 2016, 4:12:40 AM3/18/16
to Clojure

Maybe this is what's conveyed in some programming contexts, and perhaps that's reason enough not to use "style" in your title, but "style" doesn't convey that in general.
 

It would appear that "style", being a natural name, has an ambiguous sense.

I suppose then that we must rely on the definition in the introduction, or invent a synthetic term which would confuse novices.

James Elliott

unread,
Mar 18, 2016, 12:39:23 PM3/18/16
to Clojure
That’s excellent! I had high hopes after watching your keynote on this topic, and the chapter has more than lived up to my expectations. I’ve bought the book in anticipation of the remaining chapters.

Leanpub looks like a really interesting platform! I thought about converting my Afterglow documentation, and then was defeated by the fact that they support only Markdown. I quickly had to graduate to Asciidoc in writing it because of the lack of some features I was used to from back in the Framemaker days. I really hope they support it someday; I see they are working on a competing standard they call Markua, but even when that is finished, I would have to have to rewrite all my existing chapters.

Colin Yates

unread,
Mar 18, 2016, 12:54:51 PM3/18/16
to clo...@googlegroups.com
Really enjoyed this Zach - well done.

I have _longed_ to write a book using Clojure as a vehicle but dealing
addressing "how to build great code" and you beat me to it. Luckily, a
gazillion books in this space would still not be sufficient so the
door for my work isn't closed :-).

(and a _huge_ +1 for preferring 'Indirection' over 'Abstraction')

Mike Rodriguez

unread,
Mar 18, 2016, 8:58:51 PM3/18/16
to Clojure
Read it and like it so far!

Devin Walters

unread,
Mar 18, 2016, 10:56:43 PM3/18/16
to clo...@googlegroups.com
Zach,

The first chapter was a joy to read, and the writing style compliments the topic being discussed perfectly. I very much look forward to reading more as soon as it becomes available.

On Fri, Mar 18, 2016 at 7:58 PM, Mike Rodriguez <mjr...@gmail.com> wrote:
Read it and like it so far!

Val Waeselynck

unread,
Mar 19, 2016, 7:20:29 AM3/19/16
to Clojure
The chapter on naming is brilliant, I rarely learned so much in so few pages :)

So far I have found the content to be more about 'philosophical' programming notions than Clojure specifically, but the parts about Clojure are useful and pratical.

You may want to state more explicitly how this books positions itself relative to others.

Looking forward to the rest,

Val

Bozhidar Batsov

unread,
Mar 19, 2016, 2:05:32 PM3/19/16
to clo...@googlegroups.com
Seems to me that some more Clojure-specific naming rules can be incorporated into the first chapter (e.g. like the ones we have here https://github.com/bbatsov/clojure-style-guide/#naming). Other than this small remark - excellent work!

--

Zach Tellman

unread,
Mar 19, 2016, 3:34:48 PM3/19/16
to clo...@googlegroups.com
Thanks Bozhidar.  I agree that the "default name" sections can be expanded a bit, and some related rules may also fall into the second chapter.  I don't think I'll stray too far from what's in your guide.

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

Gregg Reynolds

unread,
Mar 19, 2016, 4:07:27 PM3/19/16
to clo...@googlegroups.com


On Mar 17, 2016 12:47 PM, "Zach Tellman" <ztel...@gmail.com> wrote:
>
> I'm writing a book about Clojure, aimed at people who already know the core concepts, and want to use them more effectively.  The first chapter, "Names", is complete and can be read for free.  Details can be found at http://elementsofclojure.com/.  

fyi on my galaxy s5 the pdf is declared invalid so I can't read it. 

>
> I'm happy to answer any questions here, or on the book's mailing list at https://groups.google.com/forum/#!forum/elements-of-clojure.
>

Zach Tellman

unread,
Mar 19, 2016, 4:32:45 PM3/19/16
to clo...@googlegroups.com
Is this the PDF from elementsofclojure.com or leanpub.com?  They should be the same, but I just want to make sure I know all the details.

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

Gregg Reynolds

unread,
Mar 19, 2016, 4:34:15 PM3/19/16
to clo...@googlegroups.com


On Mar 19, 2016 3:32 PM, "Zach Tellman" <ztel...@gmail.com> wrote:
>
> Is this the PDF from elementsofclojure.com or leanpub.com?  They should be the same, but I just want to make sure I know all the details.

the former.

Gregg Reynolds

unread,
Mar 19, 2016, 4:40:35 PM3/19/16
to clo...@googlegroups.com


On Mar 19, 2016 3:34 PM, "Gregg Reynolds" <d...@mobileink.com> wrote:
>
>
> On Mar 19, 2016 3:32 PM, "Zach Tellman" <ztel...@gmail.com> wrote:
> >
> > Is this the PDF from elementsofclojure.com or leanpub.com?  They should be the same, but I just want to make sure I know all the details.
>
> the former.

fwiw, I get the same result with the mobi link and the epub link: "invalid format".

Zach Tellman

unread,
Mar 19, 2016, 4:46:09 PM3/19/16
to clo...@googlegroups.com

Gregg Reynolds

unread,
Mar 19, 2016, 5:08:44 PM3/19/16
to clo...@googlegroups.com


On Mar 19, 2016 3:46 PM, "Zach Tellman" <ztel...@gmail.com> wrote:
>
> Do you get the same error for http://samples.leanpub.com/elementsofclojure-sample.pdf?
>

Oy.  it might be the email client, who knows?  when I click on the leanpub.com link in my email client I get a "downloading" msg, then nothing.  when I go to the "myfiles" folder I see several versions of elemwntsofclojure, and I can open them all.  no idea what's going on but I'm inclined to blame samsung.

fwiw I've seen this with many other pdf files, some work, some dont.  so I guess the lesson is just make a reasonable check that your file are good (run them through some version of acrobat? ) and blame any prob on cellphone vendors ;).

Zach Tellman

unread,
Mar 19, 2016, 5:16:29 PM3/19/16
to clo...@googlegroups.com
The files have worked everywhere I've tried them. I've linked everything to the Leanpub download, just to reduce any change of divergent behavior, but I'm not sure there's more I can do. Thank you for the report, though, I'm sure you're not the only one seeing this.
--

Gregg Reynolds

unread,
Mar 19, 2016, 5:47:20 PM3/19/16
to clo...@googlegroups.com


On Mar 19, 2016 4:16 PM, "Zach Tellman" <ztel...@gmail.com> wrote:
>
> The files have worked everywhere I've tried them. I've linked everything to the Leanpub download, just to reduce any change of divergent behavior, but I'm not sure there's more I can do. Thank you for the report, though, I'm sure you're not the only one seeing this.

I blame computers!  if I ever figure out what's causing this on my phone (and what the workaround is) I'll let you know so you can doc it.

> You received this message because you are subscribed to the Google Groups "Clojure" group.

> To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.

jjttjj

unread,
Mar 19, 2016, 8:07:41 PM3/19/16
to Clojure
FWIW, I also tried to download the sample PDF on my Android phone (Nexus 5) and got the same error, but I tried twice more and on the third time it just worked. So maybe just keep trying?

Gregg Reynolds

unread,
Mar 19, 2016, 9:19:39 PM3/19/16
to clo...@googlegroups.com


On Mar 19, 2016 7:07 PM, "jjttjj" <jjt...@gmail.com> wrote:
>
> FWIW, I also tried to download the sample PDF on my Android phone (Nexus 5) and got the same error, but I tried twice more and on the third time it just worked. So maybe just keep trying?
>

sounds like android  fones have a too - strict pdf reader, maybe.  annoying,  but the author may want to put some kind of warning up, e.g if at first you don't succeed,  try and try again, or try a different browser?

Gregg Reynolds

unread,
Mar 19, 2016, 9:24:00 PM3/19/16
to clo...@googlegroups.com


On Mar 19, 2016 4:16 PM, "Zach Tellman" <ztel...@gmail.com> wrote:
>
> The files have worked everywhere I've tried them. I've linked everything to the Leanpub download, just to reduce any change of divergent behavior, but I'm not sure there's more I can do. Thank you for the report, though, I'm sure you're not the only one seeing this.

dunno what happened but now when I follow the link to you page and then click on the first chapter link it comes up immediately. 

Zach Tellman

unread,
Mar 19, 2016, 9:36:00 PM3/19/16
to clo...@googlegroups.com
I changed the link to the Leanpub one. I think the content type may have been wrong before, which maybe Android is overly sensitive to. Glad it's working now.
--

Sean Corfield

unread,
Mar 20, 2016, 1:16:12 AM3/20/16
to Clojure Mailing List
On 3/17/16, 10:47 AM, "Zach Tellman" <clo...@googlegroups.com on behalf of ztel...@gmail.com> wrote:
> I'm writing a book about Clojure, aimed at people who already know the core concepts, and want to use them more effectively.

Loved the free chapter. Buying a copy for everyone on my team, for updates and the other chapters!

Sean Corfield -- (904) 302-SEAN
World Singles -- http://worldsingles.com/







Reply all
Reply to author
Forward
0 new messages