Re: Lots of newbie clojure questions

2010-12-08 Thread Surgo
> > Not really. (...) is a non-atomic s-expression. If it's evaluated > > unquoted, the first nested s-expression is evaluated and if it's not > > callable an exception is thrown. Macros, special forms (which are sort > > of like system-internal macros and are used to build all the other > > macros

Re: Lots of newbie clojure questions

2010-12-07 Thread Ken Wesson
On Tue, Dec 7, 2010 at 12:28 PM, Mike Meyer wrote: > On Tue, 7 Dec 2010 02:58:11 -0500 > Ken Wesson wrote: >> On Tue, Dec 7, 2010 at 2:15 AM, javajosh wrote: >> > Mike also points out that things that aren't functions (not used in >> > that context) can't be aliased with def or use. >> >> Really

Re: Lots of newbie clojure questions

2010-12-07 Thread Mike Meyer
On Tue, 7 Dec 2010 02:58:11 -0500 Ken Wesson wrote: > On Tue, Dec 7, 2010 at 2:15 AM, javajosh wrote: > > Mike and I have had a nice off-line conversation where we enumerated > > the possible things that can come after open-parens. I listed 7, he > > added 3: That wasn't meant to be offline, bu

Re: Lots of newbie clojure questions

2010-12-07 Thread Meikel Brandmeyer
Hi, Am 07.12.2010 um 08:58 schrieb Ken Wesson: > The ns macro is particularly > guilty of this. I say guilty because I think it's bad design, which I > guess may have been grandfathered in before the standard was settled > on to use [] around non-executable lists of data such as binding > lists.

Re: Lots of newbie clojure questions

2010-12-07 Thread James Reeves
On 7 December 2010 09:22, javajosh wrote: > Anyway, I'm aware that open-parens is the signal to Invoke or Call > something in Clojure - and therefore anything after the parens is > Callable. It is the incredible diversity of 'Things I Can Invoke' that > makes the parens difficult to a newb. (Altho

Re: Lots of newbie clojure questions

2010-12-07 Thread Ken Wesson
On Tue, Dec 7, 2010 at 4:22 AM, javajosh wrote: > As an aside, it would be nice if there was some code convention to > distinguish between macros and functions, just as there is a > convention for identifying globals. (doc something) gets to be rather > tedious to type. +1, with two provisos: spe

Re: Lots of newbie clojure questions

2010-12-07 Thread javajosh
On Dec 6, 11:58 pm, Ken Wesson wrote: > On Tue, Dec 7, 2010 at 2:15 AM, javajosh wrote: > > Mike and I have had a nice off-line conversation where we enumerated > > the possible things that can come after open-parens. I listed 7, he > > added 3: > > >> 1. A value (if the paren has a tick '(  ) >

Re: Lots of newbie clojure questions

2010-12-07 Thread Alyssa Kwan
Incidental mutability is the key. Functional programming doesn't eliminate mutability, it manages it: only the parts of the system that truly need to change state do so. Everything else is pure and easy to write and test. Contrast that with imperative programming where it's hard to tell which s

Re: Lots of newbie clojure questions

2010-12-06 Thread Ken Wesson
On Tue, Dec 7, 2010 at 2:15 AM, javajosh wrote: > Mike and I have had a nice off-line conversation where we enumerated > the possible things that can come after open-parens. I listed 7, he > added 3: > >> 1. A value (if the paren has a tick '(  ) >> 2. A function. >> 3. A map - which is a psuedo f

Re: Lots of newbie clojure questions

2010-12-06 Thread javajosh
On Dec 6, 6:01 pm, Mike Meyer wrote: Mike and I have had a nice off-line conversation where we enumerated the possible things that can come after open-parens. I listed 7, he added 3: > 1. A value (if the paren has a tick '( ) > 2. A function. > 3. A map - which is a psuedo function that take

Re: Lots of newbie clojure questions

2010-12-06 Thread javajosh
On Dec 6, 6:24 pm, Robert McIntyre wrote: > @javajosh You're speaking of the Turing description of computation, > you might be interested in Church's lambda calculus description which > works just as well and doesn't use mutability to describe computation, Thanks, I'll look into that. Is there

Re: Lots of newbie clojure questions

2010-12-06 Thread Robert McIntyre
@javajosh You're speaking of the Turing description of computation, you might be interested in Church's lambda calculus description which works just as well and doesn't use mutability to describe computation, --Robert McIntyre On Mon, Dec 6, 2010 at 9:08 PM, javajosh wrote: > On Dec 6, 5:40 pm,

Re: Lots of newbie clojure questions

2010-12-06 Thread Robert McIntyre
1. What is the justification for using a map as a function? I find this to be very confusing. In math, a function is a mapping from one set to another, so from that perspective it makes good sense for a clojure-map to be a function from its set of keys to its set of values. The justification here

Re: Lots of newbie clojure questions

2010-12-06 Thread javajosh
On Dec 6, 5:40 pm, Stuart Halloway wrote: > The world is a series of immutable states, and the future is a function of > the past. > See http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey. My philosophy questions are the most interesting to people, ha! Neat link. It appears that Hi

Re: Lots of newbie clojure questions

2010-12-06 Thread Mike Meyer
On Mon, 6 Dec 2010 16:50:40 -0800 (PST) javajosh wrote: > 1. What is the justification for using a map as a function? I find > this to be very confusing. The same as using a keyword for a function - it lets you write shorter code. > 2. In practice, I find myself wincing when needing to decide w

Re: Lots of newbie clojure questions

2010-12-06 Thread Stuart Halloway
> 1. Isn't the world actually imperative? And mutable? Collaboration > *is* a messy proposition in real life. It's hard to fix your car, and > even harder to have lots of people fix your car. I find the "it models > the real world better" justification for functional programming rather > confusing.

Re: Lots of newbie clojure questions

2010-12-06 Thread David Jacobs
> > 1. Isn't the world actually imperative? And mutable? If you're a determinist, then no. Life is a function (albeit a multivariable function), just like sine. > 2. 'Side-effects' are treated almost as a bad word by most functional > programming advocates. And yet, aren't ALL programs executed

Lots of newbie clojure questions

2010-12-06 Thread javajosh
Hello, I'm a long-time Java programmer who's tired of mutability getting in my way. I've been largely enjoying the pervasive use of closures in JavaScript, and though I'd check out Clojure. So far so good. It installed easily and the REPL is easy to use. I've watched the screencasts and have writt