The problem is that it distinctly *not* easy to write fast numeric code in
Clojure. It requires expert Clojure knowledge. On the other hand, the mental
burden for someone who wants BigInts in the new system is very low - you'll
get a trivial to track exception.
Also, when done, it doesn't
Lets just make things easy for the
average guy..,
If we base the decision on the average guy not writing high performance
numeric apps, then we should also base it on the fact that he does not need
more than a long in 99% of cases either as Rich points out. And longs are a
much simpler
user=(def current* (merge (uhoh* :event)(why* :event)))
#'user/current*
here's my problem:
user= current*
{:stuff ELI, :date #user$fn__2507
user$fn__2...@4fa3551c, :name EOW}
I was hoping this kind of a call would yield:
{:stuff ELI, :date Tue 22 Jun 2010 17:45:32
I don't use Clojure for web development and I thought sharing why could be
useful too.
For web development, my favourite tool is
Djangohttp://www.djangoproject.com/.
It comes as a fullstack framework which means I have everything I need out
of the box. Templates, caching, ORM, a kick-ass
Apparently, duplicate keys in sets are only disallowed in set
literals. Arguably, that must be a mistake on the users part, but
it sure seems to clash with the behavior of sets elsewhere.
Why would you ever want to write a duplicate in a set literal?
--
You received this message because
On Sun, Jun 27, 2010 at 2:58 PM, cageface milese...@gmail.com wrote:
When I read about new features in other languages that would be
simple macros in Lisp I just have to smile:
http://docs.python.org/dev/reference/compound_stmts.html#with
That feature would *not* be a simple macro. It isn't
So in order to make this work in Python the *entire* standard library
had to be modified to support it? That's worse than I thought.
Only the objects that made sense with the use of with.
The python approach is superior if you believe, as Guido apparently
does, that the useful set of
On Mon, Jun 28, 2010 at 2:26 PM, cageface milese...@gmail.com wrote:
As I said in the HN thread, I think you're right that getting started
with a productive clojure environment is harder than it has to be.
However, as I also said in the thread, I think the *real* obstacles
for a noobie are
This is the question I had on the blog post- what is meant by a newbie?
Specifically, what sort of newbie is Clojure wanting to attract? One of the
complaints the original poster had was that you had a choice of editors.
Of the pool of potential Clojure users, how many of them are not
What we need is this (but for clojure): http://learnyouahaskell.com/
I believe that the success of ruby is due in great part to *Why's Poignant
Guide to Ruby* and *Learn You a Haskell* is doing the same for Haskell. It's
fun to read, it holds your hand in setting up everything you have to and it
What editors do they use?
Komodo, TextMate, IDLE, Eric, Wing, etc.
And is there a reason that the same editors can't be used for Clojure?
They don't have clojure language packs.
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this
And that makes them impossible to use for Clojure? Not as nice, I'll
admit- but welcome to the bleeding edge.
They don't automatically deal with CLASSPATH and all that kind of issues
either.
Clojure lacks clear instructions that you can follow to the letter to get
you started. Once you are
I'm not so sure. Certainly things like the poignant guide made getting
started with Ruby easier, but I'd argue that the success of Ruby has a
lot more to do with how simple the core language it is and how easy it
makes it to get simple things done.
I'd argue it's both. Yes the language is
I actually agree with you that the typical block of lisp code is less
readable than the typical block of python. It bugs me when lisp
advocates present s-expr syntax as the right way instead of the
engineering tradeoff that it is.
This is mostly due to Python's There is only one obvious
Wrong/Misinformed ideas:
- Clojure 1.1 is not out of date. While it may seem to an outsider that you
need to be on 1.2 you would be very wrong. 1.2 certainly brings great things
to the table but they are built upon having a good understanding of what
currently exists in 1.1. Staying off the
1. you don't have to worry about PYTHONPATH for a while with a
standard install, although the day will come
2. you have to understand the difference between class files and jars
(PATH vs PATH/*)
No, you never have to.It's taken care of by virtualenv.
--
You received this message because
If folks find the Java stack intimidating, maybe Clojure isn't for
them? Lots of language run on the JVM and they all require some basic
knowledge of classpaths, build tools and existing IDEs such as
Ecliper, NetBeans, IntelliJ etc. If folks are new to all that, I don't
think it's Clojure's
So, what does it means for Clojure?
Faster execution? Some new interesting stuff in the standard Java library?
And I remember there was something about forkjoin that would be good for
Clojure, what about that?
--
You received this message because you are subscribed to the Google
Groups Clojure
Javascript is simply painful to use functionally. The verbosity of
anonymous functions, the lack of crucial HOFs like map/filter/reduce, the
lack of functional data structures, the lack of macros (not strictly a
functional feature, but especially useful with functional code)... You can
fix
I like CoffeeScript. But CoffeeScript is largely syntactic sugar. Hardly
anything in the way of new semantics. And it encourages traditional stateful
OOP and classical inheritance.
Underscore.js does what it can, but it's goals are largely trumped by
CoffeeScript.
David
CoffeeScript and
Even if the JVM put the code through the compiler right away, the
resulting code wouldn't be very good because it will have not had time
to profile code to apply the more powerful optimizations. It would be
throwing all of that code away once it has had time to profile the
code, so any time
Google just launched and interesting power tool to clean up messy data which
you might want to look at:
http://code.google.com/p/google-refine/wiki/Screencasts
Sounds pretty nifty isn't it?
What they do not mention in the screencast (or anywhere else for that
matter), is that it comes with
I found on Twitter the implementation of the latest stupid algorithm: sleep
sort. The idea behind sleep sort is that you sleep in parallel for a number
of second equal to the value of each cell and emit them as you finish
sleeping. The algorithm is said to run in O(lol^n)
The canonical
Allow colon as whitespace in map
literalshttp://dev.clojure.org/jira/browse/CLJ-899
That's a very subtle subtle change but with this it will be easier to
experiment with JSON or Python data I want to just grab and paste.
That attention to little detail is very appreciated.
--
You received this
Well first of all, the real main drive, is that I don't know Java libs
nearly as well as Python libs. Secondly, there's a lot of cruft (imo)
in Clojure that doesn't need to exist in a dynamic VM. For instance,
there's no reason to new up something with (Foo. 1 2). In python
objects are
On Thu, Mar 8, 2012 at 10:53 AM, Timothy Baldridge tbaldri...@gmail.comwrote:
What's the plan for ratios and characters? I assume they're still on
the TODO list? (Maybe Issue 17 covers the ratios?)
Yeah, I need to run a few more tests, but I'm thinking of somehow
layering libgmp ontop of
Actually Python fractions would work perfectly. And the decimal class
in Python should be included as well.
Thanks for pointing these libraries out to me!
Timothy
No problem. I really like how symbiotic with Python you are making this.
--
You received this message because you are
On Wed, Mar 7, 2012 at 10:42 PM, Timothy Baldridge tbaldri...@gmail.comwrote:
The Clojure-Py team is happy to announce the release of Clojure-Py 0.1.0.
https://github.com/halgari/clojure-py
Clojure-Py is an implementation of Clojure running atop the Python VM.
As it currently stands, we
On Wed, Mar 14, 2012 at 3:00 PM, David Nolen dnolen.li...@gmail.com wrote:
Thanks to Edmund Jackson we have a new primer for core.logic:
https://github.com/clojure/core.logic/wiki/A-Core.logic-Primer
Feedback appreciated!
David
It's pretty good and I think it's very accessible. If you
Dan, you probably read that recently about Datalog, while you were
reviewing Datomic. Ain't that right? :)
I didn't check out Datomic yet. I'll do that soon.
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
Could this tutorial explain the foremost question people have when seeing
core.logic: why is o appened to the names of all those functions?
--
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
On Thu, Mar 15, 2012 at 3:08 PM, Sean Corfield seancorfi...@gmail.comwrote:
On Thu, Mar 15, 2012 at 10:49 AM, David Nolen dnolen.li...@gmail.com
wrote:
It's a convention from The Reasoned Schemer. It's just an easy way to
differentiate goals from regular functions.
What's the rationale
This isn't a big issue, as recursive functions aren't much advised in
Clojure. However, ideal solution would be to detect tail calls and rewrite
block in loop/recur combo. This would allow Clojure to fully reuse TCO
without waiting for JVM to implement it (which will probably never happen).
p.s: If someone thinks that the zebra puzzle is too complicated as a first
example please don't hesitate to say so...I recently purchased the
reasoned schemer (hasn't arrived yet) which hopefully explains things at a
good pace.
It's actually pretty simple. Take a look at the Prolog
On Wed, Mar 28, 2012 at 1:40 PM, Chip Collier pho...@gmail.com wrote:
I was also intending on using the logo in such a way to communicate that
a site I'm building is powered by clojure or something to that effect
with a link to clojure.org. Is that frowned upon?
Chip
Unfortunately,
First of all, one only has to police unauthorized use of the
trademark. One can authorize its use under particular circumstances,
and then those uses don't need to be policed to avoid losing the
trademark.
That's at the heart of trademark law. A trademark is a form of Proof of
origin. If
As far as I know the Clojure logo is not currently trademarked.
You can have a trademark without registering anything (registration is
somewhere between $200 and $300 in the US, I forgot the exact amount), it's
just harder to demonstrate without a registration than copyright.
--
You received
On Mon, May 7, 2012 at 8:48 PM, toan kidn...@gmail.com wrote:
Hi folks,
I've been trying to learn clojure for a while. I've read the clojure
section of seven languages... and currently trying to get through
joy of clojure. I've been practicing with the prompt a bit and
trying to learn emacs
Under the latest snapshot of the equiv branch (07f05862c2), if I create a
record:
(defrecord MyRecord [foo bar baz])
and then create a record out of it:
(def x (MyRecord. 1 2 3))
I can use a keyword as a function to get the data:
(:foo x)
1
But if I use the record as a function like I would
implements IFn (for using an instance as a
function).
On Tue, Jun 29, 2010 at 9:16 PM, Daniel Gagnon redalas...@gmail.com
wrote:
Under the latest snapshot of the equiv branch (07f05862c2), if I create a
record:
(defrecord MyRecord [foo bar baz])
and then create a record out of it:
(def x
That's really convenient to know! I just symlinked clojure.jar to
/usr/share/java where all the java jars are on k/ubuntu and now I just have
to have those two lines in my .bashrc file:
export CLASSPATH=.:/usr/share/java/*
alias clj=rlwrap java clojure.main
On Thu, Jul 1, 2010 at 10:29 AM,
And uses '() for an empty list while () is more idiomatic.
On Sun, Jul 4, 2010 at 1:48 PM, ataggart alex.tagg...@gmail.com wrote:
The cheatsheet is out of date (e.g., still has 'lazy-cons, old meaning
of 'next).
On Jul 2, 2:11 pm, ngocdaothanh ngocdaoth...@gmail.com wrote:
Hi,
This is
Why would you ever type that more than once? Just use :as.
Because you use it in more than one file / project.
--
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
There's no reason to recur at all:
(defn factorial [n] (reduce * (range 1 (inc n
On Thu, Jul 15, 2010 at 9:49 AM, Frederick Polgardy f...@polgardy.comwrote:
You don't need to recur to another function, just recur to a loop:
(defn factorial [n]
(loop [x n acc 1]
(if (zero? x) acc
Impressive list of new features!
By the way, what's left to do for the Windows support to stop being
experimental?
--
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 Tue, Jul 20, 2010 at 9:51 AM, Phil Hagelberg p...@hagelb.org wrote:
On Mon, Jul 19, 2010 at 3:00 PM, Daniel Gagnon redalas...@gmail.com
wrote:
By the way, what's left to do for the Windows support to stop being
experimental?
Mostly we need volunteers to port the changes from the bash
Hi BG,
It is a common mistake to think that callability, corresponding to the
clojure.lang.IFn interface, is part of the persistent map contract
(I've done it myself, as did many others a Conj labs :). It is not. It
is actually just a feature of clojure.lang.PersistentHashMap (and the
On Wed, Aug 4, 2010 at 1:33 AM, vishy vishalsod...@gmail.com wrote:
What does it mean? Does it mean that :hello itself is a value,so we
call it literal syntax.Also, this form of vector [1 2 3] is also
literal syntax.
A vector evaluates all of its arguments. If I write [1 2 (+ 1 2)], I'll
As far as I know, the book Lisp In Small Pieces should be a tremendous
help for anyone who builds a Lisp interpreter or compiler. You might want to
check it out.
On Mon, Aug 9, 2010 at 2:21 PM, CuppoJava patrickli_2...@hotmail.comwrote:
Thanks for the reply Jarkko. That helps quite a lot. I
Any suggestions?
Can you run:
javap YourClass.class
and give us the result?
--
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
On Mon, Aug 16, 2010 at 11:54 AM, HB hubaghd...@gmail.com wrote:
Excellent explanation, thanks Nicolas :)
Are Refs unique to Clojure or they exist in all Lisps?
They are a big part of why Clojure was created in the first place.
--
You received this message because you are subscribed to the
a) Python doesn't really have this problem
Python doesn't have this problem because the canonical style is define by
PEP 8 and Pythonistas love simplicity through conventions.
PEP 8: http://www.python.org/dev/peps/pep-0008/
I think it's actually a great feature of the language, I almost
On Sun, Sep 5, 2010 at 5:11 PM, Stuart Sierra
the.stuart.sie...@gmail.comwrote:
Clojure compiles sources to Java .class files. To create a .class
file that can be run at the command line, you need a namespace with a
(:gen-class) directive and a function named -main. Here's an
example:
I
I think it would be great if an official clojure-fmt tool existed.
I have no interest in forcing people to use it who don't want to. But
I think it would set a great baseline for IDEs and would be helpful to
the people and teams who like having coding standards. I would be one
of a number
The first one is correct.
On Tue, Sep 14, 2010 at 3:22 PM, peter veentjer alarmnum...@gmail.comwrote:
I have got a question about the Clojure ensure and how it actually
works and the documentation doesn't provide enough information.
I see a few different solutions:
1) An optimistic
On Wed, Sep 15, 2010 at 10:44 AM, Stuart Halloway stuart.hallo...@gmail.com
wrote:
Encounter time. I am sitting next to Rich as I write this.
Guaranteed or implementation detail?
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this
I spoke to the guys on reddit. They said it is tongue-in-cheek. They have no
knowledge of functional programming but strongly feel it isn't suited to
their field.
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
57 matches
Mail list logo