> On Aug 24, 2016, at 9:28 PM, adrian.med...@mail.yu.edu wrote:
>
> I do not think your tone and lack of constructive feedback to Alex's (and
> others) thoughtful responses is helping your case.
Probably not(*), though I would characterize the responses differently. They
are polite, and
> On Aug 24, 2016, at 7:46 PM, Brian Marick <mar...@roundingpegs.com> wrote:
> So why not do it in the bottom layer? Is there some deep reason why only an
> unserious programmer would want information in anything other than the
> current clojure.spec order? (We’re talking her
> On Aug 24, 2016, at 8:39 AM, Stuart Halloway
> wrote:
>
> 3. "Follow the inverted pyramid so people see what is most important." This
> kind of thing is easily done in a layer above spec, e.g. a custom REPL
> printer for spec macro errors. Worth working on but
> On Aug 22, 2016, at 7:50 PM, Alex Miller wrote:
> You've complained in other channels about the "learning to read" error
> messages part and I think you've taken it entirely the wrong way or maybe I
> just disagree. There are benefits from reporting errors in a generic,
> On Aug 22, 2016, at 11:23 AM, Leon Grapenthin
> wrote:
>
> Still the error messages are simply far from good enough and that is what
> appears to me as the main problem OP has.
This is important. Will the new, stricter error messages be improved before 1.9
is
As an update. I’ve fixed the `ns` oopsie in Suchwow (one file), and the
coincident `ns` oopsie in Midje (one file). But this happens when running
Midje’s self-tests against Clojure 1.9alpha11:
> Exception in thread "main" java.lang.IllegalArgumentException: Call to
> clojure.core/fn did not
> On Aug 20, 2016, at 6:30 PM, Timothy Baldridge wrote:
>
> Brian, let's make it more concrete then...why should the Clojure compiler
> continue to support undocumented features that make code unportable?
Because:
1. People who want to port to clojurescript will incur
> On Aug 20, 2016, at 5:26 PM, s...@corfield.org wrote:
>
> I disagree (strongly) with your position here Brian. I’ll try to explain
> clearly why but first a little background…
I too have felt the pain of having to maintain backward compatibility. However,
I’m reminded, in this case, of Mark
> On Aug 20, 2016, at 9:03 AM, Alex Miller wrote:
>
> We discussed this before releasing the specs and decided to start on the
> strict side. That said, this is still an alpha and there is plenty of time to
> change our minds prior to official release of 1.9 if that ends
> On Aug 20, 2016, at 9:03 AM, Alex Miller wrote:
>
> You left out this next important line too since it points you to exactly the
> file and line where the error occurs:
>
> , compiling:(such/sequences.clj:1:1)
This is interesting. Here’s why I missed it. I attach the
Yesterday, a bug was filed against Suchwow under 1.9alpha11. It turns out to
have been a use of `ns …(require…` instead of `(ns …(:require`. Not in Suchwow,
but in Midje. Unfortunately, the Suchwow file the bug report pointed at *also*
had that typo - apparently I am prone to it - so adding the
"Structural typing for Clojure, somewhat inspired by Elm. Tailored to
'flow-style' programming, where complex structures flow through a series
of functions, each of which makes a smallish change. Can also be used in
testing tools and the like that need to describe how a nested structure
Colin Yates wrote:
Also, you might want to invest in either core.typed or prismatic
schema for validating shapes of data. I think Brian Marick of Midje
fame has a similar answer but I can't recall the name.
https://github.com/marick/structural-typing/
--
You received this message because
To add to the list, I wrote `defpatterned` for /Functional Programming for the Object-Oriented Programmer/. https://github.com/marick/patterned There are probably many others.
Moving pattern matching closer to `clojure.core` might be a good thing for a roadmap. I'm pretty excited by
Suchwow is my grab-bag library of Clojure functions. 5.0.0 is a major
version bump because I dropped support of Clojure 1.5.
Otherwise, it adds a few new functions plus one potentially significant
new namespace.
In two jobs, I've wanted to slurp in tabular data (CSV or relational
queries)
Timothy Baldridge wrote:
This is a good example of a DSL, and it falls under the criticisms I
level at most DSLs, mainly they aren't Clojure. If we dive into
I note that Midje once had an intermediate “semi-sweet” functional
interface that the `fact` macro expanded into. (It was most
dimitris wrote:
This is a small testing library inspired by midje.
For what it's worth, I (author of Midje) think this is wonderful.
You might consider emphasizing that you have similar checkers, as I
think that's one of Midje's strong points. I've been recently
incorporating
Noam: does this mean it's not an issue with Midje? If it is, I'll look
into it.
Noam Ben-Ari wrote:
After upgrading to [reduce-fsm "0.1.4"] all my tests pass with RC3 :-)
On Tuesday, December 8, 2015 at 3:14:21 PM UTC+2, Noam Ben-Ari wrote:
Thanks for the prompt response, I have filed a
I announced a while back that I'd be writing a short book on Specter
https://github.com/nathanmarz/specter After some thrashing and the usual
interruptions, I have the first chapter written. I've taken an unusual
approach: teaching Specter by having you implement parts of it. I'm
curious to
https://github.com/marick/structural-typing/
This is a validation or type-checking library for Clojure, playing in
roughly the same space as Prismatic Schema, Bouncer, or Validateur. It
was inspired by Elm's structural typing and my previous need to validate
complex data structures flowing
Is there a way to tell if `v` is a lazyseq other than `(instance?
clojure.lang.LazySeq v)`? Seems like there should be, but I'm not seeing it.
[Preparing to say "duh!"]
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send
William la Forge wrote:
Going forward, I'd like to deprecate some functions and have a warning
displayed on first use. So I've done this:
I use defprecate https://github.com/alexander-yakushev/defprecated
--
You received this message because you are subscribed to the Google
Groups "Clojure"
Roland Kaercher wrote:
I *strongly* recommend doing all your testing in a repl buffer. That
given, there are two ways to solve your problem. The first, which I
prefer, is to start by testing everything:
(use 'midje.repl)
(autotest)
Other than having a REPL, is
I *strongly* recommend doing all your testing in a repl buffer. That
given, there are two ways to solve your problem. The first, which I
prefer, is to start by testing everything:
(use 'midje.repl)
(autotest)
Then, when you change any text and save the namespace it's in, all tests
, I would have liked a short, exercise- and
example-filled book on Specter. I'm thinking of writing that book.
Leanpub lets people indicate their interest on a book's webpage, which
is here: https://leanpub.com/specter If you are, please do.
Brian Marick
--
You received this message because you
Dave Tenny wrote:
Specter looks nice. I didn't see any examples in the readme or tests
for working with more deeply nested data structures such as those
discussed in this thread, any pointers?
Here's an example that might be relevant to the original question.
Suppose you have this
Andy- wrote:
I have yet to evaluate it myself but this might do help you:
https://github.com/nathanmarz/specter
Specter is great.
--
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
Colin Fleming wrote:
I think that would be great. It would be preferable to have a single
repo for docstring improvements so that tools can obtain them without
bringing in other things from e.g. such-wow.
Note that everything in suchwow is public domain, so the docstrings
there can be
Midje
Stuart Sierra wrote:
1. Do you need/want ClojureScript support?
Eventually, but not soon.
2. What namespaces (repl, find, dir, file, parse) do you call in
tools.namespace?
repl, dir, track, reload
3. How would you like to distinguish between get me Clojure
sources
Colin Fleming wrote:
I just saw this the other day, in particular the better docstrings are
great. See also Andy Fingerhut's Thalia
https://github.com/jafingerhut/thalia project. I'm planning to provide
doc from both of these in Cursive soon.
That does look nice. Wish I'd known of it
Is there a library out there for deprecating functions? I'm looking for
something that prints a deprecation message, but only once, allows
deprecation messages to be turned off (probably from environment
variable), and perhaps allows something other than `println` to be
plugged in as the
https://github.com/marick/suchwow
Partly this is yet another collection of useful functions, but it has
grown some unusual features:
* I am a bear of very little brain. As such, the official Clojure doc
strings are sometimes unclear to me. When that happens, I add new doc
strings to
Aaron Cohen wrote:
Have you looked at:
clojure.walk ?
clojure.zip ?
Yes - I use zippers heavily in midje. Futzing with metadata is awkward,
so I was hoping for something more specialized.
(Sorry for the delayed reply.)
--
You received this message because you are subscribed to the
Suppose we have a structure like this:
[ :a [:a :b :c][:a [:b1 :b2] :c ] ]
That is a *required* list. It consists of keywords and *paths* (nested
vector like [:a :b :c] above). A path consists of keywords and
*alternates* (a twice-nested vector like [:b1 :b2]) above.
It's easy
Sven Richter wrote:
For the rest I agree with what is mostly said here, the beauty of
clojure lies in the nature of small composable building blocks and the
same goes for frameworks, so, basically it's all there, one just has to
put it together.
If composable building blocks are superior to
Nicola Mometto wrote:
It's talking about fully qualified symbols that map to an actual var.
E.g
user= (ns-resolve *ns* 'clojure.string/join)
#'clojure.string/join
Ah. Thank you.
Ambrose Bonnaire-Sergeant wrote:
Could you clarify why you expect that?
Thanks,
Ambrose
Because the
The last sentence of the `ns-resolve` documentation reads:
Note that
if the symbol is fully qualified, the var/Class to which it resolves
need not be present in the namespace.
What does that mean? I would expect something like the following to
produce a non-nil value:
user=
Sebastian Bensusan wrote:
What is TDD culture in Clojure like?
There are many ways to design a program, just as there are many ways to
write a textbook. In both cases, the right way depends on the subject
matter, but also on the personality and habits of mind of the writer(s).
This is not
Akos Gyimesi wrote:
Now, later that day I decide that I pass the whole user object to the
check-pw function. Maybe I want to use the user ID as a salt, or maybe I
just want to leave the possibility for checking password expiration,
etc. So I modify the test and the implementation of check-pw so
Akos Gyimesi wrote:
every function call has a
corresponding mock call in the test, so whenever you modify the
implementation (without even changing the top-level result) you have to
modify the tests as well, and vica-versa. I once encountered a codebase
that had thousands of lines of such tests,
Timothy Baldridge wrote:
I assert that a simpler library, something that only provides deftest,
assert and run-tests forces developers to think about the best way to
test something, and to write their own macros (as patterns emerge)
A not-unreasonable idea. Midje supports that by also
Timothy Baldridge wrote:
Stuff like with-redefs and providing muck with a developer's mental
model of the source code. So instead of being able to say well foo
calls baz here, so this should work. They have to think well foo calls
baz unless someone re-deffs it, in which case I haven't a clue
I use TDD and mocking/stubbing (conjure) to test each layer of my code.
The problem is when I change the function signature and the tests do not
break, because the mocks/stubs do not know when their argument lists no
longer agree with the underlying function they are mocking. Is there a
way to
Timothy Baldridge wrote:
I don't recommend Midje at all. Many of the framework's mocking
facilities (such as providing) are abominations.
Hacker News notwithstanding, idiosyncratic interface is not a synonym
for abomination.
It may look cute,
but I've lost countless hours to bugs and
A Midje user reports a bug that is actually a Clojure behavior. Does it
count as a bug?
Consider the following:
(defn test-fn [^long x] x); Note hint
(defn do-something [x] (test-fn x))
(with-redefs [test-fn (fn [x] (prn :x x) x)]
(do-something non-int))
In
Sean Corfield wrote:
If you're mocking a function that is specifically declared to take a long
(primitive), shouldn't the mocked call also be declared to take a long?
Midje has an idea called a metaconstant
https://github.com/marick/Midje/wiki/Metaconstants. Metaconstants are used to
On Nov 15, 2014, at 3:52 PM, Colin Yates colin.ya...@gmail.com wrote:
For example, in the early days I was particularly susceptible to writing
functions which did too much and called too many other functions. With Midje,
mocking these other functions was trivial, on hindsight a bit more
On Nov 1, 2014, at 1:58 PM, Alex Miller a...@puredanger.com wrote:
It would be great if someone could enumerate more explicitly what better
test output means. What are the specific problems in the current test output
reporting?
If there's any sort of consensus about test reporting,
On Oct 22, 2014, at 9:59 AM, Tobias Kortkamp tobias.kortk...@gmail.com wrote:
Yes, you can tag your facts, and then only run the facts with a specific tag.
See https://github.com/marick/Midje/wiki/Lein-midje under the :filter section.
See also:
On Oct 26, 2014, at 12:51 PM, Roelof Wobben rwob...@hotmail.com wrote:
Can I better learn midje and it this one still active maintained or can I
better learn specjl.
I've fallen behind on Midje maintenance (and, indeed, many things other than
work). I'm gradually ramping up again with ideas
On Sep 28, 2014, at 9:57 AM, Steve Ford fordsfo...@gmail.com wrote:
Any suggestions besides killing and restarting lein midje :autotest from
time to time? (To be avoided given the long delay starting it.)
You can use Stuart Sierra's workflow:
description:
On Jun 16, 2014, at 2:57 PM, Daniel Compton d...@danielcompton.net wrote:
You didn't mention whether this was on the free tier or a paid dyno. I would
expect the paid dynos to not be as heavily provisioned and could possibly
alleviate this.
Paid. (And using 2X dynos didn't seem to make a
We have a small Clojure app on Heroku that performs backend tasks for a Rails
app. Low traffic (like a request a minute). Heap is 400M. We've been having
long (10 sec) GC pauses using both the default and G1 GC (both untuned).
Browsing our logs today, I found:
[GC pause (young)
On Jun 16, 2014, at 1:19 PM, Timothy Baldridge tbaldri...@gmail.com wrote:
The rules for debugging this sort of thing are always 1) assume nothing.
Yes, but. The plural of anecdote is data*. If there are five responses saying
we run Clojure on Heroku [or a Heroku-like environment], didn't
On Jun 4, 2014, at 3:31 AM, Michael Klishin mklis...@gopivotal.com wrote:
Feel free to contribute this feature:
https://github.com/michaelklishin/langohr/issues/47
I'll have the new guy do it when he starts in August.
Let us go then, TMI,
When their profiles are spread out against
On Jun 3, 2014, at 2:16 PM, Michael Klishin mklis...@gopivotal.com wrote:
You can delete a queue and declare it with different attributes from out of
process.
Then recovery will attempt to declare it with the original attributes and
fail.
Thanks.
Small note for anyone doing this:
On Jun 3, 2014, at 2:13 PM, Brian Marick br...@getset.com wrote:
We had a situation this morning where automatic topology recovery failed with
this exception. I'd like to do something to my local rabbitmq server that
provokes this exeption, to see if my fix works. Is there a way?
Am I
On Feb 19, 2014, at 1:14 PM, John Wiseman jjwise...@gmail.com wrote:
Or the equivalent using midje instead of clojure.test
I realize the difference between the two seems small, but conceptually the
latter does more closely match what I'm doing and generates slightly more
useful output
On Feb 4, 2014, at 11:20 AM, Aaron France aaron.l.fra...@gmail.com wrote:
If you thoroughly test all your code when you write it why do you need a
tool to tell you you missed something?
This is just so brain-dead stupid.
How do you *know* that you thoroughly tested your code? Where do
On Feb 4, 2014, at 6:06 AM, Jay Fields j...@jayfields.com wrote:
- REPL driven development, putting TDD's 'rapid feedback' to shame.
Pity I'll miss this, but I only come up to Chicago W-F.
What I've found is that having autotest in the REPL dissolves most conflict
between TDD and
On Nov 30, 2013, at 10:39 AM, Sam Ritchie sritchi...@gmail.com wrote:
Brian, I like that too. It looks like you're providing the state when you do
the def-action?
If I understand the question right, yes. A test of a state function would look
like:
(fact
(incrementer {:value 1} 3) =
On Nov 29, 2013, at 11:58 AM, Sam Ritchie sritchi...@gmail.com wrote:
2) a defstatefn macro that defines the mark and mark! versions at the
same time.
I do that with agents:
(def-action text :send [state number message])
… creates a `text*` and a `text!`, where `test!` is
(defn text!
On Jul 31, 2013, at 6:45 AM, Dmitry Groshev lambdadmi...@gmail.com wrote:
Is there any proper way to preserve line numbers in stack traces with code
generation?
Midje goes to some effort to do this. It's not incredibly easy.
src/midje/parsing/util/file_position.clj has the bulk of the
On Jul 10, 2013, at 12:36 PM, Brian Craft craft.br...@gmail.com wrote:
The clojure start-up time is killing me, while working in a tight
edit-test-edit development loop. Is there any way to speed this up?
I use autotest in a running repl. A screenshot and description about 2/3 of the
way
On Jun 11, 2013, at 10:02 AM, JeremyS jschoffen@gmail.com wrote:
Now, opinion time (more opinionated actually). Midje might be full of macros
and abstractions that I don't understand when I read the code. Hell it's full
of them. But I honestly never had to read it to write my tests.
On Jun 11, 2013, at 2:08 PM, Tj Gabbour t...@pentaside.org wrote:
Interesting; these arguments sound oddly like those surrounding Common Lisp's
loop macro. When reading Midje's docs, I got the weird impression Brian was
aware of the history of non-lispy macros.
I was a Common Lisp user and
On Jun 10, 2013, at 12:22 AM, julianrz julia...@yahoo.com wrote:
This may be a little off topic, but does this, or any other framework, solve
some testing inconveniences that exist in Clojure and probably other
functional languages:
1) testing recursive functions. I want to test what a
On Jun 10, 2013, at 9:20 AM, Timothy Baldridge tbaldri...@gmail.com wrote:
Midje on the other hand, is a massive pile of macros and DSLs that so
complicate your code that advanced tests are insanely hard to debug. ... And
I can't tell you how many dozens of hours I've lost trying to figure
On Jun 9, 2013, at 1:07 PM, Steven Degutis sbdegu...@gmail.com wrote:
I think we all agree that it's extremely important to discuss the SPEC as a
community. In fact, since this is a pre-ANN, let's consider this thread the
perfect place for such a discussion.
I suggest that surveying users
On Jun 4, 2013, at 3:51 PM, David Pollak feeder.of.the.be...@gmail.com wrote:
* Is there a faster cycle than to change code, change tests and type lein
test to see the results?
I use Midje in a repl. That looks like this:
% lein repl
(use 'midje.repl)
(autotest)
When I save a source
On Jun 4, 2013, at 11:16 PM, Kevin Downey redc...@gmail.com wrote:
midje makes each test a top level form, so test runs happen as a side effect
of code loading, which means you cannot really run tests in a good way from
the repl without doing some kind of ridiculous forced code reloading. I
On Jun 4, 2013, at 11:16 PM, Kevin Downey redc...@gmail.com wrote:
midje makes each test a top level form, so test runs happen as a side effect
of code loading, which means you cannot really run tests in a good way from
the repl without doing some kind of ridiculous forced code reloading. I
On May 29, 2013, at 5:20 AM, phillip.l...@newcastle.ac.uk (Phillip Lord) wrote:
While I understand how to set up a new profile, I can't see whether I
can access the project map that I am using within the project so that I
can see up conditional logic --- like ignore this test if I am my
On May 26, 2013, at 5:47 AM, Alex L. alexander.lo...@gmail.com wrote:
First, the use of seq as a
terminating condition is the idiomatic way to test whether a sequence is
empty.
In natural languages, idioms change. Sometimes it's to the despair of purists:
for example, I've had to accept
On May 27, 2013, at 1:38 PM, Armando Blancas abm221...@gmail.com wrote:
It's fun to make use of esoterica like `seq`'s behavior with an empty list.
Back in the early days, it was necessary. [2 examples]
But, for the rest of us, the necessity has drained out of that kind of
esoterica.
On May 15, 2013, at 8:28 AM, Dave Kincaid kincaid.d...@gmail.com wrote:
One that I encountered last week was Midje. In trying to work through all of
its dependencies I discovered that Pomegranate is also dependent on Maven,
but I think I was able to work around that by adding 4 or 5 Maven
On Apr 24, 2013, at 12:02 AM, Steven Degutis sbdegu...@gmail.com wrote:
Unfortunately, it's impractical to write the majority of a Mac or iOS app
using anything other than Xcode + ObjC, especially the UI. So the goal of
this endeavor would mainly be to write command line utilities in
On Apr 12, 2013, at 1:18 PM, Softaddicts lprefonta...@softaddicts.ca wrote:
The average career length of a programmer is 8 years in the US (2003 survey)
and
the main reason invoked by those that left is their perceived lack of
productivity.
TL;DR: Opinions about unproductive older
On Mar 28, 2013, at 8:51 AM, Mark mjt0...@gmail.com wrote:
In the course of writing about 30 lines of code last night, I accidentally
caused name collisions with two or three other existing functions in
clojure.core. Do other people have this problem? Am I just too uncreative? Am
I being
On Mar 21, 2013, at 1:54 PM, Razvan Rotaru razvan.rot...@gmail.com wrote:
I'm curious, why doesn't toString of clojure.lang.LazySeq return the entire
sequence as a String, and returns the Java pointer instead?
I don't know, but perhaps it's to avoid problems with infinite sequences?
On Mar 21, 2013, at 2:20 PM, Brian Marick mar...@exampler.com wrote:
I don't know if it's elegant, but:
user= (str (list* (map + [1 2 3])))
(1 2 3)
I wrote too soon. `list*` returns a lazy sequence, not a list, so I guess you
shouldn't rely on it. If you don't mind brackets even though
On Mar 21, 2013, at 2:30 PM, Brian Marick mar...@exampler.com wrote:
If you don't mind brackets
Or, if you do mind brackets:
user= (str (apply list (map inc [1 2 3])))
(2 3 4)
I'll stop now.
Looking for employment as a Clojure programmer
Latest book: /Functional Programming
On Mar 19, 2013, at 8:47 AM, Murtaza Husain murtaza.hus...@sevenolives.com
wrote:
I am having trouble using midje repl-tools. I am using the facts intermingled
in my source code.
Can you give a transcript of the failure? I can't reproduce the problem. I have
a project with this source:
On Mar 19, 2013, at 7:19 AM, Murtaza Husain murtaza.hus...@sevenolives.com
wrote:
Brain I would also like to use it to test my cljs code, is that possible ?
If https://github.com/clojure/clojurescript/wiki/Differences-from-Clojure is up
to date, it would be moderately hard and tedious to
Midje is a test framework for Clojure that aims to be more readable than
clojure.test and to allow styles of testing that clojure.test does not.
1.5 is the Enterprise Edition and Respect the Repl Release.
Enterprise (integration with build servers)
* Configuration files
* Tests can be selected
Midje is a competitor to clojure.test. Version 1.5 has just entered the release
candidate pipeline. It's a big release, and makes a big jump toward what's long
been a goal of mine: working with ease:
http://www.exampler.com/ease-and-joy.html
http://www.youtube.com/watch?v=0U0cfejYMOI
In
By the way, the doc string for `*file*` is wrong:
clojure.core/*file*
The path of the file being evaluated, as a String.
Evaluates to nil when there is no file, eg. in the REPL.
It actually evaluates to NO_SOURCE_PATH
Looking for employment as a Clojure programmer
Latest
Duh. I'd managed to confuse myself. Sorry for the noise.
(*file*: t_core.clj; *source-path*: scratch/t_core.clj)
Looking for employment as a Clojure programmer
Latest book: /Functional Programming for the Object-Oriented Programmer/
https://leanpub.com/fp-oo
--
--
You received this
On Feb 17, 2013, at 8:49 PM, Leonardo Borges leonardoborges...@gmail.com
wrote:
My theory behind why this works is that when I reload the cache
namespace it recompiles it - and at that point, the new var binding is
available.
Is this the case? More importantly, is this how I should be
On Feb 8, 2013, at 7:56 PM, Daniel Glauser danglau...@gmail.com wrote:
This sounds like a great idea. I was working with some tests today and it
would have been really useful to have some way to query the current
function/execution context. Seems like passing that through all lets would
An individual Midje fact (test case, roughly) macroexpands into a form like
this:
(record-fact-existence!
(letfn [(fun1 [] ...test code is here...)
(fun2 [] (with-meta fun1 {...metadata...}))]
(fun2))
Tabular facts in Midje are done via unification. A table with 8
I checked out midje and tried macroexpanding the test that's giving you
problems: it expands to 140KB of Clojure source! The culprit is indeed the
creation of your metadata maps: the :midje/body-source and :midje/source keys
are each around 40KB literals.
You are my hero. Somehow the
On Jan 31, 2013, at 5:50 AM, Phillip Lord phillip.l...@newcastle.ac.uk wrote:
So, I really would like to hook into the doc function so that I can
return a documentation string pulled directly from the underlying Java
object; I already have a function for doing this, but do not know how to
get
On Jan 28, 2013, at 11:13 AM, Sean Corfield seancorfi...@gmail.com wrote:
In other words, don't use the same names for variables in your code
under test that you use for the placeholder variables in the `are`
binding and the test expressions.
It might be a good practice to distinguish the
A typo in an identifier should not lead to the following. Although I understand
that `lein repl` trims stack traces, that should be the default, rather than
having every substantial user-facing program trim `clojure.lang.Compiler`
(etc.) messages for the sake of its users.
Exception in
I've also noticed that the messages that come from botched macroexpansions are
often not useful in that they contain no clues about the original source, and
sometimes not even a useful reference to the original namespace.
I have a similar problem in Midje. When a macroexpansion blows up, I
On Jan 18, 2013, at 8:46 AM, Reginald Choudari adnanchowdhur...@gmail.com
wrote:
I am looking for a new Clojure book to get me started on the language.
Here's a beginning Clojure reading list, with some discussion:
http://regretful.ly/clojure/2013/01/16/beginning-clojure-reading-list/
On Jan 6, 2013, at 3:34 PM, Sean Corfield seancorfi...@gmail.com wrote:
Here's what I use to pull symbols from Enlive into FW/1:
Midje plays similar tricks to make namespace abilities available via one `use`.
Which makes me think:
1: In the old patterns world, there was a rule of three
Why does this:
(def ^{:dynamic true} bar 33)
… work to create a dynamic var, but this:
(intern *ns* (with-meta 'foo {:dynamic true}) 33)
… doesn't? (Looking more for the justification than mechanics.)
Occasional consulting on programming technique
Contract programming
On Jan 3, 2013, at 12:12 PM, Timothy Baldridge tbaldri...@gmail.com wrote:
If you need to change a var to be dynamic, you can set it manually with
.setDynamic.
Perhaps `.setDynamic` should be promoted to be a clojure function? I kind of
wish I didn't have subject-to-change method calls
1 - 100 of 240 matches
Mail list logo