On Dec 20, 2012, at 8:55 PM, Seth Chandler chandler.s...@gmail.com wrote:
but in dealing with file locations, dependency management, projects,
Leiningen, all of which are -- with due respect -- very difficult,
particularly for people not coming from an Eclipse or similar background.
In my
On Dec 11, 2012, at 12:38 PM, Timothy Baldridge tbaldri...@gmail.com wrote:
For a project I'm working on it would be awesome to have my tests auto-rerun
after every file change. I know lazy test exists, but it doesn't work with
Lein2 it seems.
(defproject ...
:profiles {:dev
On Dec 11, 2012, at 12:48 PM, larry google groups lawrencecloj...@gmail.com
wrote:
I am sorry for the dumb question, but zippers are for looping over nested
collections, yes? Why can't I just use get-in for that? When would I need a
zipper?
If you want to edit trees, using zippers is
On Dec 11, 2012, at 1:04 PM, Brian Marick mar...@exampler.com wrote:
If you want to edit trees, using zippers is often much much easier than
collection functions. I find the code easier to understand, too.
I almost forgot to make a shameless plug for /Functional Programming for the
Object
On Dec 11, 2012, at 4:45 PM, Nando d.na...@gmail.com wrote:
Thanks! I bought and started reading your book. Seems excellent so far, and
wanted to say that I particularly appreciate your stated willingness to help
those of us with no experience in functional programming.
I'm pleased to
On Dec 11, 2012, at 5:42 PM, Phil Hagelberg p...@hagelb.org wrote:
Henry Baker's Equal Rights for Functional Objects paper:
http://home.pipeline.com/~hbaker1/ObjectIdentity.html
Henry Baker was/is a brilliantly just-outside-of-the-box thinker. Many of the
papers at
to adjust
that value to something else.
https://github.com/MichaelDrogalis/zombie
In any case, drop the link here when you find the talk. We should take a stab
at merging these two concepts.
On Sunday, November 11, 2012 6:23:24 PM UTC-5, Brian Marick wrote:
On Nov 11, 2012, at 2:35 PM
-utils` contains:
(when (ecosystem/clojure-1-3?)
(in-ns 'clojure.core)
(defn ex-info ...)
(in-ns 'midje.util.backwards-compatible-utils))
Why not? What should I do instead?
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting
On Dec 6, 2012, at 10:41 AM, Brian Marick wrote:
(ns midje.repl
(:require ...
midje.util.backwards-compatible-utils
[leiningen.core.project :as project]
It worked to remove the modification to core from
`m.u.backwards-compatible-utils` to
the body
(Actually, previous was wrong. The `in-ns` calls seem to have to be at the top
level, as in:
(in-ns 'clojure.core)
(if-not (resolve 'ex-info)
(defn ex-info ...)
(in-ns 'midje.repl)
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional
vectors work if you want to
have a type hierarchy. I wish sets worked, but then you'd have to also have
some sort of destructuring mechanism to bind the parameters.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional
) starships
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented Programmer/:
https://leanpub.com/fp-oo
--
You received this message because you are subscribed to the Google
. A ::gaussjammer is a subtype of a ::spaceship.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented Programmer/:
https://leanpub.com/fp-oo
--
You received this message because you
(hierarchical) test data that satisfies constraints. I could imagine
the two code bases being complementary. Mine is at:
https://github.com/marick/peano
I gave a talk on the idea at Software Craftsmanship North America (yesterday).
I believe it was recorded.
-
Brian Marick, Artisanal
for
people who can share (general purpose tricks of the aging trade). Contact me if
interested.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented Programmer/:
https://leanpub.com/fp-oo
to combinations of predefined rules that
apply to every step, monads are just The Right Thing.
Even if you don't use them, I'm inclined to think monads are a useful example
of how to think about functions in a functional language. It helps you avoid
just writing C code in Clojure.
-
Brian
I merged your pull request, and I'm now getting up to speed with nrepl,
leiningen 2, etc.
Do you want to be a committer to midje-mode? I'll have to get dnaumov to set
you up, since it's his repo.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional
On Oct 17, 2012, at 2:35 PM, Andreas Liljeqvist wrote:
Just to clear something up: Are you maintaining midje-mode?
I thought it was Dmitri?
That's where I left my pull request anyway.
I'm a committer for `midje-mode`.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby
myself.
Again: sorry.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented Programmer/:
https://leanpub.com/fp-oo
--
You received this message because you are subscribed
to be immutable.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented Programmer/:
https://leanpub.com/fp-oo
--
You received this message because you are subscribed to the Google
Groups Clojure
::thing] [::starship ::starship])
Why? In what cases would a programmer prefer something like the second match?
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented Programmer
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
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
it will inform their documentation), are quick studies, and are
skilled explainers.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented Programmer/:
https://leanpub.com/fp-oo
--
You
/generic.clj
https://github.com/marick/fp-oo/blob/master/test/sources/t_generic.clj
I've already discovered changes I need to make.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing /Functional Programming for the Object-Oriented
))
IllegalArgumentException No method in multimethod 'collide' for dispatch value:
[:ship :asteroid] clojure.lang.MultiFn.getFn (MultiFn.java:121)
;;; The redefinition didn't take
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
Writing
://leanpub.com/fp-oo
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
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
Why does `(merge)` return nil? I would have expected it to return the unit ({})
by analogy with things like this:
(+) = 0
(*) = 1
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you
and {} to represent a success that establishes no bindings.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
[x xs]] :seq)] (str 1: so-far x xs)
[([[ sequence]] :seq)] (str 2: sequence)))
user= (count-sequence [1 2 3])
nil
This is a bug? Please?
(Note: the same thing happens without a rest argument if you pass in [[1 2 3]])
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby
(Numbers.java:942)
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
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
the need to have some particular argument passed from
function to function (which looks like the `this` in an instance method).
Note: please put the flamethrower down. I'm not saying that looking like
objects is the point of higher-order functions.
I'll give full credit.
-
Brian Marick
on this. (Arguably, the whole first part of the
book leads up to that chapter.) I even use Point as an example!
But it's functions all the way down! is not what I'm looking for in this
section. Because you wouldn't use such a scheme instead of conventional objects.
-
Brian Marick, Artisanal
-of-the-2011-state-of-clojure-survey/
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
a chapter on
concurrency. Of the various types of concurrency Clojure offers, which do you
think would be most useful to explain? My inclination is: auto-concurrency due
to immutability, futures (I love futures), and atoms. What do you think would
be the right set?
-
Brian Marick, Artisanal
, no one will come and I'll stop doing it. :)
If Gabriel is still the driving force behind Splash, he'd *like* it to be the
kind of meeting ground for industry and academia that the earlier OOPSLAs were.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional
it doing that for built-ins (or just primitives?), but not for
user-defined functions (given the existence of atoms, etc.) I can also imagine
it not bothering for any calls.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received
is hard to
generate. So this is a way to artificially create and throw one.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups
On Jun 17, 2012, at 1:45 PM, Andy Coolware wrote:
I have been subscribed to a couple of groups as well as other stuff
and find it useful to have a Subject line prefix indicating the source
of conversation.
+1
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract
-click (I've done it numerous
times), which makes more sense:
* that 1 person adjust the group settings
* that N1 list recipients adjust their clients
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
characters is when they're already trying to view the
world through a keyhole.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups
On Jun 8, 2012, at 8:49 AM, Jay Fields wrote:
I wouldn't mind seeing more in clojure.string. e.g. daserize, underscore,
pascal-case, camel-case
+1
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com
= (l/unifier '[1 ?two 3 4] '[1 2 ?three 4])
[1 2 3 4]
user= (l/unifier '[1 ?two 3 4] '[1 2 ?three NOT-FOUR])
nil
user= (l/binding-map '[1 ?two 3 4] '[1 2 ?three 4])
{?three 3, ?two 2}
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
with, but that also doesn't require so much coding that it doesn't save
you enough work. http://www.artima.com/weblogs/viewpost.jsp?thread=8826
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You
.
Changes: https://github.com/marick/Midje/wiki/New-in-1.4
User documentation: https://github.com/marick/Midje/wiki
Repo: https://github.com/marick/Midje
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com
)
~setter))]
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group
dependencies first and try again.
Note that Midje 1.4 (beta-2 just pushed today) has fixed this problem.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you
of this makes any sense to me, and I hope I never really need to
understand it. I accept this pain as an offering to the Java gods.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received
On Apr 26, 2012, at 12:09 PM, Laurent PETIT wrote:
Le 26 avr. 2012 à 02:15, Brian Marick mar...@exampler.com a écrit :
Midje is getting to the point where it probably wants some sort of
configuration/customization file. Is there any sort of emerging idiom for
those in Clojure-land?
I
force him to
put that in his Java classpath? [Speaking as a Unix guy for 30 years: ick.]
- Etc.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed
and its implementation. Does this make sense? Is there a better way
to dependency injection in Clojure?
To what end are you injecting dependencies? (If it's for testing, I have
something useful to say; if not, not.)
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract
in the title. (I see that it's there way
down in the bottom.)
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group
/wiki/Setup%2C-Teardown%2C-and-State
Note that you can mix and match Midje tests and clojure.test tests, even wrap
Midje tests inside deftest, so using `background` doesn't commit you to a
wholesale rewrite of existing tests.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
On Dec 20, 2011, at 11:44 AM, David Nolen wrote:
Are you attaching line metadata yourself?
Yes... What type should it be?
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received
expansion.
Yes. I was just adding 1.4 to the backwards-compatibility suite and noticed a
bug. The change-clojure-version script wasn't changing part of the suite - the
part I put the Long-Int regression test in. Sigh.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract
= {:status 200} :position
(midje.internal-ideas.file-position/line-number-known 17)))
(midje.util.report/fact-checks-out?))
That compiles perfectly fine.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting
On Dec 19, 2011, at 7:34 PM, Brian Marick wrote:
I have tried for two days to figure out what is causing the compiler to throw
the following when compiling a macro:
Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to
java.lang.Integer
/file_position.clj
The other two are fairly specific to Midje, so they're probably harder to
understand, but they may be of use.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message
More here: https://github.com/marick/Midje/blob/master/HISTORY.md
Thanks especially to Alex Baranosky, who did a lot of work on this release.
Enjoy.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
, visit this group at
http://groups.google.com/group/clojure?hl=en
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure
.
It was a masterpiece of snark. I've never been able to find it since. If anyone
has a copy, I'd love to get one.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because
-with-clojurezip/
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
/group/midje
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
, and
I didn't understand it. I think it was a workaround for something in Clojure
1.1. I bet I can figure it out now.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because
testing.
Of course it's silly to use intern the second time: (.setRoot the-var
clojure.test/report) would have been simpler.
Thank you. You've made a user happy.
(You meant .bindRoot rather than .setRoot, right?)
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract
.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
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
clojure.lang.Compiler.lookupVar (Compiler.java:6780)
What could that exception mean? What's a starting point for debugging?
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received
.)
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
On Nov 1, 2011, at 11:17 AM, Chas Emerick wrote:
FWIW, it doesn't look like `every?` has any inlining:
Ah, I see what's actually going on. My mistake.
It's good to hear about how to do the inline check. Thanks!
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
exceptions, they
won't come from Midje code.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post
*, :dynamic true, :line 1, :file ...}
But you can't rebind:
user= (binding [*copy* new value] *copy*)
IllegalStateException Can't dynamically bind non-dynamic var: user/*copy*
clojure.lang.Var.pushThreadBindings (Var.java:339)
Bug?
-
Brian Marick, Artisanal Labrador
Now working at http
:(midje/t_m.clj:26)
`def` does work.
Bug?
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post
dynamic binding in *one* way of creating a new var, you should do it with *all*
ways of creating a new var.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you
then threw away. But it must be the case that the problem was a stray var
reference at the top level. Thanks!
(It's hard to get used to declare-before-use when you're an old dog like me.)
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby
versions?
That is outrageously clever.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group
with arithmetic boundaries.
An unlikely case, to be sure, but I believe this kind of fit-and-finish is
important.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you
:
user= (meta odd?)
nil
The previous behavior was useful. I made use of it. Is it a bug that it's gone
away? If not, what's the reasoning behind the change?
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting
that. Useful code is sometimes given a function object to work
with, not a Var.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
.
How about putting the information back on the function? Who would be harmed by
reverting back to old behavior?
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you
(but not under 1.2).
One thought is variations of code like this:
(if (clojure-1-3?)
(def +M +')
(def +M +)
This causes amusing results because of the quote. I haven't found a variation
that works.
So what should a library writer who wants to honor the choices of his users do?
-
Brian
wrote a library.
People matter less than code.
-
Brian Marick, Artisanal Labrador
Now working at http://path11.com
Contract programming in Ruby and Clojure
Occasional consulting on Agile
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post
they were interested for this to go
forward.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post
the burden of moving a def- macro from a contrib file to a
core file. It even outweighs the aesthetic concerns (which I confess I don't
understand).
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com
on
the way to widespread acceptance of Clojure, which (for my sake) I really,
really, really hope for.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you
?
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
when you see a keyword, and what it would mean
if you didn't.
(Sorry for the long note, but this way I get to use some of my B.A 1981,
English Literature, background!
http://en.wikipedia.org/wiki/Reader-response_criticism
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby
= metaconstant symbol?
equiv is called with midje.ideas.t-m.Metaconstant clojure.lang.Symbol
true
Why is .equiv called with reordered arguments? And can I depend on that
behavior going forward?
I see this behavior with 1.2.0, 1.2.1, and 1.3.0-beta1.
-
Brian Marick, Artisanal Labrador
Would Have Meant).
It is a hard problem. It's also an important problem.
(In Midje, I've tried to be good about checking for user errors. It's
surprising how often a misparenthesization can't be reported because there's a
legitimate use with the same shape.)
-
Brian Marick, Artisanal
On Jul 27, 2011, at 7:26 PM, Brian Marick wrote:
How *does* one provide dates to ClojureQL for transmission to Postgres? I
want to do something like this:
(ql/conj! (ql/table :animals) {:official_name fred :added_to_service
something that counts as a SQL Date})
Boy I was dumb yesterday
) {:official_name fred :added_to_service
something that counts as a SQL Date})
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
))
true
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
/enlive/wiki/Table-and-Layout-Tutorial,-Part-1:-The-Goal
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
Groups Clojure group
On Jul 13, 2011, at 6:03 AM, Ambrose Bonnaire-Sergeant wrote:
I've found that (some of) Clojure's advanced features are best taught in
terms of simpler ideas
that most programmers would be familiar with.
+1
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
be, and so forth. [I spend a fair amount of
time parachuting into projects and learning the code structure by pairing.
Works pretty nicely.]
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You
Pragmatic Dave Thomas, Chad Fowler,
Nathaniel Talbott, and Jim Weirich. We'd do well to learn from their oral
histories of the early days of Ruby.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
remember the explanation of
Visitor is nothing like any other I'd ever seen.
http://www.amazon.com/Little-Java-Few-Patterns/dp/0262561158/ref=ntt_at_ep_dpt_4
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com
care
about efficiency or Java interop?
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post
)
(indirect-adder 1 2)
= hi mom ; rather than 3
I expect there are no tricks like :dynamic true http://blog.n01se.net/?p=134
that work, but I thought I'd check.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com
don't have to know anything
about what a movie is except that `critic-rating` and `actors` work with it,
which is saying something like what `defprotocol` says.]
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com
essentially that. It suffices.
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group
for the jar file or fixing this
problem some other way?
-
Brian Marick, Artisanal Labrador
Contract programming in Ruby and Clojure
Occasional consulting on Agile
www.exampler.com, www.twitter.com/marick
--
You received this message because you are subscribed to the Google
Groups Clojure group
101 - 200 of 240 matches
Mail list logo