Clojure is a general-purpose language supporting interactive development that encourages a functional programming style, and simplifies multithreaded programming.

learn more… | top users | synonyms

1
vote
2answers
172 views

Is it bad form to stage a function's steps in intermediate variables (let bindings)?

I find I tend to need intermediate variables. In Clojure that's in the form of let bindings, like cmp-result-1 and cmp-result-2 in the following function. (defn str-cmp "Takes two strings and ...
3
votes
2answers
518 views

What is a dotted pair's analogy in other Lisp implementations?

What is Scheme's dotted pair construct analogous to in other Lisp implementations? I can make a vector or list quite easily, and understand those in Clojure, even though the syntax is a little ...
11
votes
3answers
1k views

Scala or Clojure Functional Programming best practices

I did a lot of self-study coding, got some experience with Parallel Programming Models: Actors, Software Transactional Memory, Data Flow. When I am trying to apply these architectures to real life - ...
6
votes
2answers
226 views

Language that can statically ensure a map's fields are present

If data is simple and objects are complex, I'm curious if there are any existing statically typed languages that would be able to augment(?) a map type into a type with guaranteed fields. I realize ...
4
votes
1answer
1k views

Clojure: vars, atoms, and refs (oh my)

also: defs, java fields, agents The clojure website has documentation for these concepts: Vars Atoms Refs Agents I understand the words, but I don't conceptually get the purpose / meaning of ...
4
votes
1answer
314 views

Is re-defing idiomatic in clojure?

Simple example: (def ticks 0) (defn run-iteration [] (def ticks (inc ticks))) Though the usual case involves things that don't change more than once every several hundred ms. How to do this ...
4
votes
4answers
3k views

Using Clojure instead of Python for scalability (multi core) reasons, good idea?

After reading http://clojure.org/rationale and other performance comparisons between Clojure and many languages, I started to think that apart from ease of use, I shouldn't be coding in Python ...
9
votes
3answers
392 views

Making LISPs manageable

I am trying to learn Clojure, which seems a good candidate for a successful LISP. I have no problem with the concepts, but now I would like to start actually doing something. Here it comes my ...
4
votes
2answers
2k views

Getting started with ClojureScript and Google Closure

I would like to investigate whether ClojureScript, with the associated Google Closure library is a reasonable tool to build modern, in-browser, Javascript applications. My current Javascript stack ...
31
votes
13answers
2k views

Problems (such as maintenance) in development with unpopular language

I'm developing some application with clojure(lisp) alone in my team. It starts as small application. No problem. But as it's having features and extending the area, it's becoming important program. I ...
13
votes
3answers
1k views

How independent is Clojure from Java?

I am quite new to the Clojure world. I appreciate the fact that one has easy access to all Java libraries via Clojure interop features, but I was wondering how much Clojure stands on its own legs. Of ...
15
votes
6answers
3k views

Best practices in comment writing and documentation

Commenting nowadays is easier than ever. In Java, there are some nice techniques for linking comments to classes, and Java IDEs are good at making comment shells for you. Languages like Clojure even ...
2
votes
5answers
612 views

Programming language with native concurrency support for large graphs?

I'm currently looking for a new programming language to learn (currently working through some C++, know some C and Python), specifically one that has built-in concurrency support? I want to try to ...
8
votes
1answer
708 views

What are the essential Clojure libraries to learn beyond the basics of “core”

I am teaching myself Clojure. I've started using Leiningen, I'm working on Clojure Koans, plan to do LabREPL next, and will have a look at Noir. My question is: what are the essential "must know" ...
14
votes
3answers
6k views

On the path to Enlightenment: Scheme, Common Lisp, Clojure? [closed]

A lot of people smarter than me keep writing about when you learn Lisp it makes you a better programmer because you "get it". Maybe all I hear about Lisp(s) changing your life is just a big practical ...
22
votes
3answers
1k views

Why do some functional languages need software transactional memory?

Functional languages, by definition, should not maintain state variables. Why, then, do Haskell, Clojure, and others provide software transactional memory (STM) implementations? Is there a conflict ...
3
votes
1answer
253 views

Incanter for real world statistical projects

I'm interested in statistical computing. R is a leader platform obviously but what about Incanter? Incanter is at the top of my list since I'm a Clojure and JVM guy. Do you have any real world ...
17
votes
3answers
1k views

Why does the Lisp community prefer to accumulate all the parentheses at the end of the function?

Why does the Lisp community prefer to accumulate all the parentheses at the end of the function: (defn defer-expensive [cheap expensive] (if-let [good-enough (force cheap)] good-enough ...
19
votes
2answers
3k views

Is Clojure, Scala and other restrained by the JVM vs CLR [closed]

The Java implementors seem slow to adopt language improvements, for example compare C# with full closures, expression trees, LINQ etc.. to Java, and even the push back of some stuff to Java 8 will ...
10
votes
3answers
2k views

How dependent on Rich Hickey is Clojure? [closed]

I was just asked this question by my company who is investing in a Clojure application and I did not have a good answer? Can anyone, in all seriousness tell me what would happen to Clojure if Rich ...
9
votes
1answer
305 views

Software Transactional Memory - Composability Example

One of the major advantages of software transactional memory that always gets mentioned is composability and modularity. Different fragments can be combined to produce larger components. In ...
6
votes
5answers
2k views

Clojure Web Application: EC2 or GAE?

I am developing a web application written in Clojure using the Compojure framework. My question is, should I deploy to Amazon EC2 or Google App Engine? I've read this article on running Clojure code ...
19
votes
6answers
3k views

Advantage of Learning Lisp for a Python Programmer

I am primarily a Python, Java, C++ programmer, and I've gained a recent interest in functional language. I'm thinking of picking up a LISP dialect: Clojure. Now, I've been working through tutorials ...
34
votes
7answers
2k views

C# Dev - I've tried Lisps, but I don't get it

After a few months of learning about and playing with Lisp, both CL and a bit of Clojure, I'm still not seeing a compelling reason to write anything in it instead of C#. I would really like some ...
3
votes
2answers
870 views

Clojure: Adding functions to defrecord without defining a protocol

A record can implement protocols. However, each time I think of a new function that I would like the record to implement, I have to add it to an existing protocol or create a new protocol. How do I ...
22
votes
7answers
6k views

What's your reason to learn Clojure? [closed]

I got a personal question for you guys out there: what's your reason for learning Clojure ? (For me, it's the same thing as it was with Java over C, it promises a better programming experience)