Re: Best Book for Clojure

2018-03-13 Thread bijay paudel
Thank you for information

On Tue, Mar 13, 2018 at 9:54 PM, Philos Kim  wrote:

> This book is somewhat out-of-date but still the best book I have read on
> Clojure.
> And I am so unhappy to see the second edition not come out.
>
> Clojure Programming: Practical Lisp for the Java World
>
> https://www.amazon.com/Clojure-Programming-Practical-
> Lisp-World/dp/1449394701/ref=sr_1_2?ie=UTF8=1520995738&
> sr=8-2=clojure+programming
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Best Book for Clojure

2018-03-13 Thread Philos Kim
This book is somewhat out-of-date but still the best book I have read on 
Clojure.
And I am so unhappy to see the second edition not come out.

Clojure Programming: Practical Lisp for the Java World

https://www.amazon.com/Clojure-Programming-Practical-Lisp-World/dp/1449394701/ref=sr_1_2?ie=UTF8=1520995738=8-2=clojure+programming

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Best Book for Clojure

2018-03-13 Thread bijay paudel
I have 7 years experience in java and J2EE.
I am new for functional programming like Clojure.

On Tue, Mar 13, 2018 at 8:54 PM, Sean Corfield  wrote:

> The answer depends on many things: how much programming experience do you
> have and in which languages? How much Clojure have you done so far? Do you
> like a reference-style book or one that is more conversational?
>
>
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>
> --
> *From:* clojure@googlegroups.com  on behalf of
> pbi...@gmail.com 
> *Sent:* Tuesday, March 13, 2018 5:44:55 PM
> *To:* Clojure
> *Subject:* Best Book for Clojure
>
> I want to buy a  book.
> Which is the best book for clojure?
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


RE: Best Book for Clojure

2018-03-13 Thread Sean Corfield
The answer depends on many things: how much programming experience do you have 
and in which languages? How much Clojure have you done so far? Do you like a 
reference-style book or one that is more conversational?

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood


From: clojure@googlegroups.com  on behalf of 
pbi...@gmail.com 
Sent: Tuesday, March 13, 2018 5:44:55 PM
To: Clojure
Subject: Best Book for Clojure

I want to buy a  book.
Which is the best book for clojure?



--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Best Book for Clojure

2018-03-13 Thread pbijay
I want to buy a  book.
Which is the best book for clojure?


-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Macro argument evaluation, and function return value evaluation?

2018-03-13 Thread Didier
Well, I'm still interested in the above questions, but now I realized that 
spec is even harder to extend, since s/keys doesn't even truly take a 
standard map of keys and vectors, the vector can have an `or` in it, which 
is a non standard or, so a default eval does not handle it properly.

Hopefully the next version of spec might make this easier. Maybe I wish 
spec followed the data > function > macro philosophy, and that took regular 
clojure datastructures instead of this custom DSL it currently uses.

On Monday, 12 March 2018 20:06:43 UTC-7, Didier wrote:
>
> I feel these have been asked many times, but no answers I could find was 
> complete, or satisfactory.
>
> 1) How do you, within a macro, choose to evaluate an argument? So imagine 
> I wanted a macro which had applicative order of evaluation? Not a macro 
> that returns a function which will be evaluated in applicative order, but 
> actually evaluating the argument inside the macro, to resolve its value, 
> whether it be part of a local, a symbol pointing to a var inside a 
> namespace, or a literal value?
>
> I can only think of:
>
> (defmacro applicative-order
>   [& args]
>   (map eval args))
>
> This works with global vars (def and defn), and it works with literal 
> values, but not with locals.
>
> My intuition tells me there's just no way to use locals inside a macro, 
> since the macro is expanded before the locals are created.
>
> 1.1) Is it true that this will always work with globals and literal values?
>
> 1.2) Is there a safer way then using eval, which would similarly work with 
> globals as well as literal values?
>
> 2) How can I force evaluation of a function's return value?
>
> My intuition was, since I want applicative order of evaluation, to just 
> use a function, but a function will return the code unevaluated.
>
> (defn applicative-order
>   [& args]
>   `(~@args))
>
> This works with globals, locals and literal values, but it returns 
> unevaluated code.
>
> So I thought about:
>
> (defn applicative-order
>   [& args]
>   (eval `(~@args)))
>
> This works, and my intuition tells me its totally fine, apart that I want 
> to be sure not to use it with input from a user/file/io.
>
> 2.1) Is there any other way then using eval to do this?
>
> 2.2) Is there anything problematic with using eval like this? Any caveats 
> with eval apart from input safety? Like situation where its missing 
> environment data and thus fails to work as expected?
>
> REMARKS:
>
> Now you might wonder why all this is needed, well it turns out if you want 
> to compose a macro, it can be quite tricky, and something like the above 
> helps. Which macro do I want to compose? Well, in my case, s/keys macro 
> from clojure.spec. If I want to create a spec from a map as such:
>
> (def foo {:req [::a ::b]})
> (let [bar {:req [::x ::y]}]
>   (s/combine-keys foo bar {:req [::baz]})
>
> Thank You.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


StackOverflow Job Survey results are out

2018-03-13 Thread Alan Thompson
& Clojure is still doing well on the salary front:


https://insights.stackoverflow.com/survey/2018/#work-salary-and-experience-by-language

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: How to call a function read from an EDN file?

2018-03-13 Thread Simon Luetzelschwab
Hey Christopher,

Welcome to the wonderful world of Clojure and we're glad to have you!

It appears you are trying to authenticate using Google's OAuth library and
are currently using the google-apps-clj
 wrapper.

You have to either keep a reference to the return value of reading in the
config file that you can pass as the first argument to the function
google-apps-clj.credentials/get-auth-map or just pass (edn/read-string
(slurp "config/google-creds.edn")) as the first argument directly.

While I haven't used the library myself, here's how I would do steps 8, 9
and 10 in the REPL -

(let [config "config/google-creds.edn"
  creds (edn/read-string (slurp config))
  scopes ["https://www.googleapis.com/auth/calendar;]
  auth-map (google-apps-clj.credentials/get-auth-map creds scopes)
  updated-creds (assoc creds :auth-map auth-map)]
  (spit config (pr-str updated-creds))
  updated-creds)

I haven't tried this so forgive any typos, but it should give you the
general idea.

I hope this helps and feel free to post any follow up questions you may
have.

Best,
Simon

-- 
Alpeware LLC - 548 Market St #35286, San Francisco, CA 94104 - +1 415 200
3094

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.