an abuse of macros?
HAHAHA you are funny Laurent :-)
On Dec 13, 10:32 pm, Laurent PETIT laurent.pe...@gmail.com wrote:
Unless I've missed something implicit in your post, why do present us (and
particularly ajay, who's trying to understand the language) what I would
consider an abuse of
As far as I can tell, ImageJ isn't really suited for headless tasks,
which is what I want to do; I want to run some image processing in the
backend of a web app. I guess I'm going to try JAI first.
Not sure to understand. By headless you mean without a human
operator? ImageJ is perfectly
2009/12/14 mbrodersen morten.broder...@gmail.com
an abuse of macros?
HAHAHA you are funny Laurent :-)
?
On Dec 13, 10:32 pm, Laurent PETIT laurent.pe...@gmail.com wrote:
Unless I've missed something implicit in your post, why do present us
(and
particularly ajay, who's trying to
Hello,
Interesting return of experience.
But from what I (currently) know, AOTing jars should be harmless.
So maybe the problem is that there's a bug in the new branch, and this bug
needs to be corrected ?
2009/12/13 dysinger t...@dysinger.net
So in my experiments with using clojure / contrib
If you intend to work with GAE, I guess some portions of the road are
pretty clear : use Eclipse with the plugin provided by google, and then
install counterclockwise (Eclipse plugin for clojure):
http://code.google.com/p/counterclockwise/wiki/Documentation#Install_Counterclockwise_plugin.
But
There are certainly binary incompatibility issues between the
different versions/branches -- that'll settle out as the core matures,
and IIUC, especially once c-in-c becomes a reality.
However, only providing libraries as source (non-AOT-compiled) jars
whenever possible only shifts the problem
The poms in clojure and clojure-contrib are not currently suitable for
installing/deploying the produced artifacts as-is (something that I
keep meaning to work on). We continue to rely upon in-house builds,
which I deploy using deploy:deploy-file along with tweaked pom files
-- you can do
It's really been a time saver and I think it's a really good fit with
ClojureQL.
Raphaël
Raphaél, thank you for bringing this to my attention, it looks
interesting.
I think this falls more in the tool-category than the language-
category. In its simplest form ClojureQL aims to make you
On Dec 14, 12:17 pm, LauJensen lau.jen...@bestinclass.dk wrote:
It's really been a time saver and I think it's a really good fit with
ClojureQL.
Raphaël
Raphaél, thank you for bringing this to my attention, it looks
interesting.
I think this falls more in the tool-category than the
Shawn Hoover shawn.hoo...@gmail.com writes:
I see usages of the time macro that wrap the expression of interest in a call
to dotimes. Is there any interest in an overload of time that takes an
additional parameter for a number of iterations, evaluates the expression that
many times, and prints
I'm fully aware that my argumentation would carry much more weight if
I had the opportunity to contribute some code for migrations, but I
currently don't have :(
Your argument lacks no weight. You make a good case for migrations so
I'll look into it, and I'll be very happy to write up the
I see now that the simpler expression:
#'clojure.core/spread
equivalent to
(var clojure.core/spread)
also works:
user= (#'clojure.core/spread [:a [:b :c]])
(:a :b :c)
This works for refs but not for atoms. :-/
Stu
--
You received this message because you are
Migrations would be awesome. As to where they should go, I am of two
minds. They are clearly a separate layer, and could be a separate
project that relied on ClojureQL. OTOH, we use migrations on 100% of
our projects that use relational data, so why bother with an
additional dependency?
B Smith-Mannschott bsmith.o...@gmail.com writes:
On Sun, Dec 13, 2009 at 23:15, dysinger t...@dysinger.net wrote:
I highly recommend you use the snapshots on build.clojure.org. Lein
already has build.clojure.org snapshots in it's repo list. You don't
need to do anything more than put
On Dec 14, 2:23 pm, Stuart Halloway stuart.hallo...@gmail.com wrote:
Migrations would be awesome. As to where they should go, I am of two
minds. They are clearly a separate layer, and could be a separate
project that relied on ClojureQL. OTOH, we use migrations on 100% of
our projects
I wrote this implementation of a heap (or priority queue) in pure
Clojure:
http://pastebin.com/m2ab1ad5a
It's probably not of any quality sufficient to be make it to the
contrib package, but it seems to work. Any thoughts on how it might
be improved?
Thanks,
Mark
--
You received this message
On Sun, Dec 13, 2009 at 7:07 PM, Mark Triggs mark.h.tri...@gmail.com wrote:
Hi all,
I recently pulled down the latest Clojure master branch and have noticed
a small change in line-seq's behaviour which breaks some of my code.
The code in question uses line-seq like this:
(use
I've implemented Migrations in Conjure. They don't use ClojureQL, but
it might be a good place to start (steal code). After looking over
ClojureQL, I'm definitely interested in pulling it into Conjure in a
future release.
-Matt
--
You received this message because you are subscribed to the
On Mon, Dec 14, 2009 at 8:48 AM, Chouser chou...@gmail.com wrote:
On Sun, Dec 13, 2009 at 7:07 PM, Mark Triggs mark.h.tri...@gmail.com wrote:
Hi all,
I recently pulled down the latest Clojure master branch and have noticed
a small change in line-seq's behaviour which breaks some of my code.
On Mon, Dec 14, 2009 at 1:16 AM, Chouser chou...@gmail.com wrote:
On Sun, Dec 13, 2009 at 7:55 PM, Stephen C. Gilardi squee...@mac.com wrote:
On Dec 13, 2009, at 6:54 PM, Stuart Halloway wrote:
That's great. I wouldn't have expected it to work. Do you think this is by
design or
http://www.google.com/cse/home?cx=013940287744875509343:60ybe0lrjm4
I couldn't find a CSE for clojure, so i took the 45 folks on delicious
with the most clojure tags (excluding clojurebot) and counted their
domains . Here's 125 domains in search engine. Let me know if i
missed any good ones.
On Dec 13, 9:17 pm, B Smith-Mannschott bsmith.o...@gmail.com wrote:
Summary:
I've tried three different ways to get this to work and failed. What
am I overlooking? The nightly builds exist, so clearly this must be
working for someone, just not me.
mvn install:install-file -DpomFile=pom.xml
Thanks Travis
this was exactly what I was looking for:
(import '(java.io File))
(first (filter #(re-matches #.*\.txt %) (.list (File. ./) )))
I am using the csv parser from :
http://github.com/davidsantiago/clojure-csv
I would enjoy seeing your implementation
On Dec 13, 2:19 am, Travis
Hi,
Am 14.12.2009 um 01:07 schrieb Mark Triggs:
(defn line-seq
Returns the lines of text from rdr as a lazy sequence of strings.
rdr must implement java.io.BufferedReader.
[#^java.io.BufferedReader rdr]
(let [line (. rdr (readLine))]
(when line
(lazy-seq (cons
Hi,
Am 14.12.2009 um 07:16 schrieb Chouser:
I'd like a ruling on this as well. It solves a real problem of
macros getting access to helper functions, so if we shouldn't be
relying on it, a reliable solution would be desirable.
This technique is actually used in the new branch in
Hi Laurent,
Am 14.12.2009 um 09:43 schrieb Laurent PETIT:
But from what I (currently) know, AOTing jars should be harmless.
So maybe the problem is that there's a bug in the new branch, and this bug
needs to be corrected ?
No. The inner workings of Clojure might change. AOT compiled code
On Mon, Dec 14, 2009 at 8:18 AM, Stuart Halloway
stuart.hallo...@gmail.com wrote:
I see now that the simpler expression:
#'clojure.core/spread
equivalent to
(var clojure.core/spread)
also works:
user= (#'clojure.core/spread [:a [:b :c]])
(:a :b :c)
This works
I've changed it to allow variable board sizes.
Finding it difficult to profile Clojure code though for performance
tuning.
Using the -Xprof switch seems to indicate java.lang.Character.hashCode
is called a lot and i guess that's to do with the nested maps that
represent the trie.
Using jvisualvm
Thanks, Konrad. clojure.lang.Compiler/LOCAL_ENV is what I need.
--
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
On Dec 13, 9:17 pm, B Smith-Mannschott bsmith.o...@gmail.com wrote:
Summary:
I've tried three different ways to get this to work and failed. What
am I overlooking? The nightly builds exist, so clearly this must be
working for someone, just not me.
mvn install:install-file -DpomFile=pom.xml
Funding Clojure 2010
Background
--
It is important when using open source software that you consider who
is paying for it, because someone is. There is no such thing as free
software.
Sometimes open source software is developed under a license with
undesirable properties (e.g. the GPL),
2009/12/14 Meikel Brandmeyer m...@kotka.de
Hi Laurent,
Am 14.12.2009 um 09:43 schrieb Laurent PETIT:
But from what I (currently) know, AOTing jars should be harmless.
So maybe the problem is that there's a bug in the new branch, and this
bug needs to be corrected ?
No. The inner
On Dec 14, 9:39 am, Sean Devlin francoisdev...@gmail.com wrote:
Rich,
For those of us in the US, what are the tax implications? Is there a
non-profit set up at this time?
It is not a non-profit.
Rich
--
You received this message because you are subscribed to the Google
Groups Clojure
Hi Fred,
2009/12/14 Frédéric Morain-Nicolier f.nicol...@gmail.com:
As far as I can tell, ImageJ isn't really suited for headless tasks,
which is what I want to do; I want to run some image processing in the
backend of a web app. I guess I'm going to try JAI first.
Not sure to understand. By
On Dec 14, 7:48 am, Rich Hickey richhic...@gmail.com wrote:
On Dec 14, 9:39 am, Sean Devlin francoisdev...@gmail.com wrote:
Rich,
For those of us in the US, what are the tax implications? Is there a
non-profit set up at this time?
It is not a non-profit.
Rich
This is being linked to
On Dec 14, 10:08 am, Paul Nakata paulnak...@gmail.com wrote:
On Dec 14, 7:48 am, Rich Hickey richhic...@gmail.com wrote:
On Dec 14, 9:39 am, Sean Devlin francoisdev...@gmail.com wrote:
Rich,
For those of us in the US, what are the tax implications? Is there a
non-profit set up at
2009/12/14 jan jan.mare...@gmail.com:
Shawn Hoover shawn.hoo...@gmail.com writes:
I see usages of the time macro that wrap the expression of interest in a call
to dotimes. Is there any interest in an overload of time that takes an
additional parameter for a number of iterations, evaluates the
About the donations. Is there any way we can see how you are doing
donation-wise, compared to the target for personal donations you would
like to reach? I think people find it easier to donate, if they have
insight in how much you've received this month / this calendar year
compared to your
I barely have time to do anything in Clojure these days, but the work
you've done, the talks you've given, and so on are worth the price of
admission. I really do hope enough chip in so you can focus on your
work with the language until such time as you can make it profitable
in other ways, if
Snowtide will be sponsoring Clojure. But, we're small, bootstrapped
(i.e. not venture-funded), and just one of what I'll bet are a fair
number of commercial users of Clojure.
If you're reading this, and you use, enjoy, and perhaps profit from
Rich's hard work, please contribute or sponsor
On Mon, Dec 14, 2009 at 10:08 AM, Lauri Pesonen lauri.peso...@iki.fi wrote:
IIRC Java AWT-based libraries require a windowing system on the
machine. On Windows this is not a big deal since you're always running
a windowing system, even on a server, but on linux where the windowing
system is an
On Dec 14, 2009, at 7:16 AM, B Smith-Mannschott wrote:
Then, to depend upon only the source jar in a downstream project, one
would simply add a 'classifier' element to the dependency element:
dependency
groupIdcom.ashafa/groupId
artifactIdclutch/artifactId
Hi Albert,
2009/12/14 Albert Cardona sapri...@gmail.com:
On Mon, Dec 14, 2009 at 10:08 AM, Lauri Pesonen lauri.peso...@iki.fi wrote:
IIRC Java AWT-based libraries require a windowing system on the
machine. On Windows this is not a big deal since you're always running
a windowing system, even
I'm happy to support you in this way Rich, even though I only use
Clojure for hobby projects and do not make any money on it either. I
sent my donation.
Good luck.
Zef
On Dec 14, 4:16 pm, Rich Hickey richhic...@gmail.com wrote:
On Dec 14, 10:08 am, Paul Nakata paulnak...@gmail.com wrote:
If you are an individual user of Clojure, I encourage you to
contribute $100/year to Clojure development, via the donation system.
Done!
And should I ever be in the position of using Clojure for anything
more than hobby projects I'll be sure to push for some more money to
come your way.
IIRC Java AWT-based libraries require a windowing system on the
machine. On Windows this is not a big deal since you're always running
a windowing system, even on a server, but on linux where the windowing
system is an optional install it causes problems.
If you set the system property
I couldn't find a CSE for clojure, so i took the 45 folks on delicious
with the most clojure tags (excluding clojurebot) and counted their
domains . Here's 125 domains in search engine. Let me know if i
missed any good ones.
I wouldn't want to claim that's it's good, but if you add ianp.org
On Mon, Dec 14, 2009 at 6:08 PM, Lauri Pesonen lauri.peso...@iki.fi wrote:
Hi Fred,
2009/12/14 Frédéric Morain-Nicolier f.nicol...@gmail.com:
As far as I can tell, ImageJ isn't really suited for headless tasks,
which is what I want to do; I want to run some image processing in the
backend of
despite that I'm a hobbyist and have never been paid to program, the
experience/knowledge I've acquired thus far from the presentation
videos makes contributing an easy decision. while i'm hopeful that
the businesses using clojure will contribute, i think it's even more
important for individuals
There's a system property (since jdk 1.4) named java.awt.headless
(http://java.sun.com/j2se/1.4.2/docs/guide/awt/AWTChanges.html#headless)
that allows using AWT classes in server setting.
In my experience, the java.awt.headless property doesn't work.
I have not tried since a late 1.5; perhaps
For me, Clojure actually decreases my income. I can program so much
faster in Clojure that I generate fewer billable hours :) .
Seriously though, I am donating because Clojure makes programming more
fun. That's reason enough for me.
--
You received this message because you are subscribed to
B Smith-Mannschott bsmith.o...@gmail.com writes:
This issue has also been brought up in connection with leiningen,
which currently AOT-compiles everything as part of its normal build.
My impression is that it would be smarter to be selective about what
gets AOT compiled, and what doesn't.
On Dec 14, 9:33 am, Rich Hickey richhic...@gmail.com wrote:
Funding Clojure 2010
Background
--
It is important when using open source software that you consider who
is paying for it, because someone is. There is no such thing as free
software.
Sometimes open source software is
Umm mbrodersen...I believe Laurent was merely pointing out that you
can accomplish everything you did with your macros with regular
functions. The functions are actually shorter and clearer to read
than the macros as well. That is a pretty clear abuse of macros.
The only thing macros do here is
Could you add support for stdev as well, or better yet a helper macro
to return a vector of run times?
I don't want Zed to find out...
Read at your own risk:
http://www.zedshaw.com/essays/programmer_stats.html
Sean
On Dec 13, 11:48 pm, Shawn Hoover shawn.hoo...@gmail.com wrote:
I see usages
I have not done something like this before but your Clojure changed my life
, so I owe you something. However, coming from a far away continent(with low
income per head) I may not be able to match 100/developer/year price. I hope
you won't mind my widow's might when it comes.
Emeka
On Mon, Dec
Gene Tani wrote:
http://www.google.com/cse/home?cx=013940287744875509343:60ybe0lrjm4
This one has been around for almost a year. I'm happy to add anyone
who'd like to help maintain it.
http://www.google.com/cse/home?cx=004621955734675372103:0oxuogeollc
-Drew
--
You received this message
On Mon, Dec 14, 2009 at 4:11 AM, Meikel Brandmeyer m...@kotka.de wrote:
Hi,
Am 14.12.2009 um 01:07 schrieb Mark Triggs:
(defn line-seq
Returns the lines of text from rdr as a lazy sequence of strings.
rdr must implement java.io.BufferedReader.
[#^java.io.BufferedReader rdr]
Is this a 1.1 or 1.2 fix?
On Dec 14, 3:05 pm, Rich Hickey richhic...@gmail.com wrote:
On Mon, Dec 14, 2009 at 4:11 AM, Meikel Brandmeyer m...@kotka.de wrote:
Hi,
Am 14.12.2009 um 01:07 schrieb Mark Triggs:
(defn line-seq
Returns the lines of text from rdr as a lazy sequence of
On Dec 14, 4:14 pm, Sean Devlin francoisdev...@gmail.com wrote:
Is this a 1.1 or 1.2 fix?
1.1, thanks
Rich
--
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
On Mon, Dec 14, 2009 at 3:18 PM, Sean Devlin francoisdev...@gmail.comwrote:
Could you add support for stdev as well, or better yet a helper macro
to return a vector of run times?
I don't want Zed to find out...
Read at your own risk:
http://www.zedshaw.com/essays/programmer_stats.html
Uh
Rich Hickey wrote:
On Mon, Dec 14, 2009 at 8:48 AM, Chouser chou...@gmail.com wrote:
[...]
Your analysis and solution seem right to me. Rich, would you
accept a ticket for this?
Yes, and could someone please check the other functions that were
patched similarly?
I'll do it since I
Actually, I was serious about a helper macro to return a vector of run
times, and leave the stats up to the end consumer. I would find that
very, very useful.
On Dec 14, 4:59 pm, Shawn Hoover shawn.hoo...@gmail.com wrote:
On Mon, Dec 14, 2009 at 3:18 PM, Sean Devlin
For years I have complained about the parts of java I don't like, and
lamented the stagnation of lisp. I never imagined anyone could
simultaneously attack both issues so beautifully and so successfully.
Bravo.
I have yet to make a dime using Clojure, but hope to some day. So as a
Christmas
Ruby-style migrations are great but, as others have said, they lend
themselves better to another layer of abstraction. I was thinking of a
lower-level alternative to migration. We could find a way to construct
an ast from the current database schema and then compare it with the
one generated by
On Mon, Dec 14, 2009 at 6:33 AM, Rich Hickey richhic...@gmail.com wrote:
[...] Individual users
If you are an individual user of Clojure, I encourage you to
contribute $100/year to Clojure development, via the donation system. [...]
That's less than 0.3 starbucks-coffees per day! (Even
That's a great idea, hope it gains some traction. I'm recently
unemployed and trying to bootstrap my own startup, so I'll skip this
year. When my financial condition will be more solid though, I'll
certainly donate something. In the meantime, as I intend to build my
projects in Clojure, I'll
I very much hope your voluntary donation approach works. I
suspect the best chance of making it work is if you regularly
remind-people-of/market/promote the idea of donating. That is,
I believe there is a lot of goodwill out there, and a lot of people
will have good intentions, but it is easy
On Tue, Dec 15, 2009 at 6:00 AM, Mark P pierh...@gmail.com wrote:
This approach seems to me to be a good compromise between
open source and proprietary funding. It provides all the benefits of
open source over time, yet provides a tangible reason for paying
licence fees beyond just goodwill.
Rich,
I second the idea that there should be some kind of status report so
that people can see what you need and how close we are to meeting the
goal.
Just having a Donate button on the site was not enough to get me to
contribute. But spelling it out like you have here pushed me over the
edge.
I sent my contribution. Thanks for your work on Clojure. It's
brought me many weekends of joyful hacking. Please continue to let
the community know what's necessary to sustain Clojure's development.
On Dec 14, 6:33 am, Rich Hickey richhic...@gmail.com wrote:
Funding Clojure 2010
Background
This strikes me as a potentially disastrous idea; look at how much
mindshare going the proprietary route has cost Rebol, for instance.
I don't know anything about Rebol except for some quick
googling that I've just done on them. But the impression
I get is that what they've done is
On Tue, Dec 15, 2009 at 6:40 AM, Mark P pierh...@gmail.com wrote:
This strikes me as a potentially disastrous idea; look at how much
mindshare going the proprietary route has cost Rebol, for instance.
I don't know anything about Rebol except for some quick
googling that I've just done on
A good comment from reddit:
http://www.reddit.com/r/programming/comments/aeixf/funding_clojure/c0h6uij
martin
--
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
I have a function foo which uses tail recursion:
(defn foo [] (recur))
I need to do some clean-up work after foo (there is an external
binding that requires some post-foo processing), and this needs to
happen even if foo fails. The naive approach was:
(try (foo)
(finally (clean-up))
I'm not quite sure about your specific case, but is it possible to
just move the try-catch outside of the recursive function?
Perhaps this is not possible for your specific case, but it seems like
a clean way to handle it, so I would try and massage the problem into
something that can be expressed
Drew Raines aarai...@gmail.com writes:
Rich Hickey wrote:
On Mon, Dec 14, 2009 at 8:48 AM, Chouser chou...@gmail.com wrote:
[...]
Your analysis and solution seem right to me. Rich, would you
accept a ticket for this?
Yes, and could someone please check the other functions that were
Haven't used Clojure much yet, but plan on using it more as soon as I
am capable. In fact, I am so sold on Clojure I stopped using a paid-
for copy of Lispworks a week after buying it when I discovered
Clojure. Since Clojure runs on the JVM and interoperates with Java, I
am now learning Java,
Hi Greg, here's a sample but realistic pattern of the sort of thing
you're doing;
(import '(java.io BufferedReader FileReader File IOException)
'(bqutils BQUtil))
(defn samp-loop
Read a csv file containing user records.
[#^String fpath]
(with-open [r (BufferedReader. (FileReader. (File.
Thanks for bringing back the joy of programming to my life. I
contributed and I hope to be able to give more as a business endeavor
in the near future (crossing fingers)
Good luck with the drive! It *must* pan out.
Toni
http://disclojure.org
On Dec 14, 6:33 am, Rich Hickey richhic...@gmail.com
james ja...@3dengineer.com writes:
Using the -Xprof switch seems to indicate java.lang.Character.hashCode
is called a lot and i guess that's to do with the nested maps that
represent the trie.
Using jvisualvm doesn't help much either as it's not giving me a call
graph.
Just self counts for
Hello Clojurians,
I've a Clojure newbie, and I've just started running clojure-mode and
slime under emacs (on Windows). I'm running into several issues. Some
of these are definitely bugs in my understanding; others may be bugs
in my install or the implementation itself. I'd appreciate any help
Thanks to both of you for the replies. Adrian, I like the in-line loop-
recur. Cuppo, that example is essentially the same one that I was
describing but it was key to helping me, as I saw that it evaluated
fine when I expected it to fail based on my original problem.
Turns out that the problem
On Tue, Dec 15, 2009 at 7:05 AM, Phil Hagelberg p...@hagelb.org wrote:
Yep, this will be changed in the next release of leiningen. The default
build will only AOT namespaces that actually need it to
function. Naturally you will still be able to build jars that AOT
everything, but you will
In my experience, the headless suggestion works fine when running Tomcat6
where apps make use underlying graphics functionality and end up
accidentally creating an X display. You have to make sure java gets the
option before it attempts to open any displays -- which might happen well
before the
I can answer this part:
Clearly this is a debugger. I won't ask for details as to what I can
do here, except for this: Typing 0 will get me back to the repl.
Fine. However, Typing 1 will Throw cause of this exception. What
exactly does that mean? Is it rethrowing the same exception, or
I'm glad that everything works now Greg.
Though I have to say that I'm a little suspicious of changing a
doseq into a for to solve the problem. Off the top of my head, I
can't think of any subtleties that can arise because of doseq and tail
recursion. Is it possible to post a simplified version
While I personally use Emacs+SLIME to do Clojure hacking this is generally a
poor introduction to Clojure for newbies. Clojure is new enough territory
without having to fight with your text editor and the idiosyncracies of
SLIME (SLIME hasn't even been compatible with swank-clojure since late
Mike K mbk.li...@gmail.com writes:
I've a Clojure newbie, and I've just started running clojure-mode and
slime under emacs (on Windows). I'm running into several issues. Some
of these are definitely bugs in my understanding; others may be bugs
in my install or the implementation itself. I'd
Actually, the for didn't work for me either but I believe that was a
lazy evaluation issue. The doseq seems to use internal recursion,
which breaks the try/finally. My final solution was to build up doseq
functionality with reduce. See below:
(defn foo1 []
(try
(println body)
(finally
On Dec 14, 10:55 pm, Phil Hagelberg p...@hagelb.org wrote:
How did you install slime? If you use trunk of slime you will run into
breaking changes for which swank-clojure hasn't been updated yet. It's
best to use ELPA, the Emacs package manager. (http://tromey.com/elpa)
I tried to use ELPA at
On Dec 14, 10:40 pm, David Nolen dnolen.li...@gmail.com wrote:
While I personally use Emacs+SLIME to do Clojure hacking this is generally a
poor introduction to Clojure for newbies. Clojure is new enough territory
without having to fight with your text editor and the idiosyncracies of
SLIME
Something I keep bumping into: the SQL library returns rows as struct-
maps. Often I want to do things like rename keys (:foo_bar = :foo-
bar), strip out :id columns, etc.
Nope!
java.lang.Exception: Can't remove struct key
Any opinions on returning a hash-map after 'removing' (remember,
93 matches
Mail list logo