clojure

How do I run Oracle plsql procedure from Lisp?

How do I get started? ...

macro support in F#

After reading Practical Common Lisp I finally understood what the big deal about macros was, and I have been looking for a language for the .NET platform that supports this. There are a few lisp dialects for .NET but from what I have been able to gather all are either very beta or abandoned. Recently my interest has been sparked by Cloju...

Best non-C++ language for generative programming?

C++ is probably the most popular language for static metaprogramming and Java doesn't support it. Are there any other languages besides C++ that support generative programming (programs that create programs)? Which ones are the best (for learning, for efficiency, for maintenance, for embedded systems, whatever)? ...

How do you make a web application in Clojure?

I suppose this is a strange question to the huge majority of programmers that work daily with Java. I don't. I know Java-the-language, because I worked on Java projects, but not Java-the-world. I never made a web app from scratch in Java. If I have to do it with Python, Ruby, I know where to go (Django or Rails), but if I want to make a ...

Can you write GPL software using CPL libraries?

The specific case I'm thinking about is writing Clojure programs that are GPLed. I've seen cases where GPLed software was using incompatible licenses (Erlang's, which is like MPL) just by adding an exception to the license agreements. Is that possible with the CPL? ...

Lisp in the real world

I have experimented with Lisp (actually Scheme) and found it to be a very beautiful language that I am interested in learning more about. However, it appears that Lisp is never used serious projects, and I haven't seen it listed as a desired skill on any job posting. I am interested in hearing from anyone who has used Lisp or seen it u...

How can I transition from Java to Clojure?

After discovering Clojure I have spent the last few days immersed in it. What project types lend themselves to Java over Clojure, vice versa, and in combination? What are examples of programs which you would have never attempted before Clojure? ...

Any Real-World Experience Using Software Transactional Memory?

It seems that there has been a recent rising interest in STM (software transactional memory) frameworks and language extensions. Clojure in particular has an excellent implementation which uses MVCC (multi-version concurrency control) rather than a rolling commit log. GHC Haskell also has an extremely elegant STM monad which also allow...

What is the best way to do GUIs in Clojure?

What is the best way to do GUIs in Clojure? Is there an example of some functional Swing or SWT wrapper? Or some integration with JavaFX declarative GUI description which could be easily wrapped to s-expressions using some macrology? Any tutorials? ...

Which one is more likely to succeed: clojure or arc?

Which one of the following new lisp implementations is more likely to gain the momentum and more mainstream acceptance, arc by Paul Graham or clojure by Rich hickey? They both launched at the same time, but seems there is more community interest in clojure so far, from both lisp and java folks. ...

Which language would you use for the self-study of SICP?

I've caught the bug to learn functional programming for real. So my next self-study project is to work through the Structure and Interpretation of Computer Programs. Unfortunately, I've never learned Lisp, as I was not a CS major in college. While SICP does not emphasize the tools for programming, doing the exercises entails picking a ...

Clojure editor/IDE recommendations on Mac OS X

I am starting to learn the Clojure programming language. Are there any recommendations for Clojure editors/IDEs on Mac OS X? Update 2009-09-23: The Clojure space has changed tremendously since I originally posted this question. Many of the links below, especially those that refer to clojure-mode with Emacs, are out-of-date. The best Clo...

What Ubuntu/Debian packages do I need to build with Java+OpenGL?

I want to use JOGL (for Clojure, not Java). There seems to be quite a combination of alternatives for JDKs and OpenGL bindings, and I don't want to use a scatter gun approach and clog up my machine installing too much cruft. Please help me get started! What Ubuntu/Debian packages do I need to install? (starting with sun-java6-jdk, for ...

An amnesia patient's "first" functional language? (I really like Clojure...)

I was recently diagnosed with a cascading dissociative disorder that causes retrograde amnesia in addition to an existing case of possible anterograde amnesia. Many people have tried to remind me of how great a programmer I was before -- Right now I get the concepts and the idioms, but I want to teach myself whether I know or not. I thin...

Use a database with Clojure

What methods to use a database from Clojure are there? I know from Clojure you can do anything you can with Java, but that means that I may end up using something overly complicated (like Hybernate) which clashes with Clojure simplicity. Any recommendations or comments? ...

Pretty print in Clojure

Is there a pretty printing function in Clojure that would output data-structures like lists and structs in a human-readable way? ...

What's a good way to rewrite this non-tail-recursive function?

For some reason, I am having trouble thinking of a good way to rewrite this function so it uses constant stack space. Most online discussions of tree recursion cheat by using the Fibonacci function and exploiting the properties of that particular problem. Does anyone have any ideas for this "real-world" (well, more real-world than the Fi...

Medium-size Clojure sample application?

Is there a medium-sized Clojure sample application that could be used as a "best-practices" example, and a good way to see what such an application would look like in terms of code and code organization? A web application would be particularly interesting to me, but most important is that the program do something commonly useful (blog, b...

Calling Java from Clojure

When I try to run the following code (from the REPL) in Clojure: (dotimes [i 5] (.start (Thread. (fn [] (Thread/sleep (rand 1000)) (println (format "Finished %d on %s" i (Thread/currentThread))))))) I get the following error: java.lang.Exception: Unable to resolve symbol: i in this context clojure.lang.Compiler$C...

Generating permutations lazily

I'm looking for an algorithm to generate permutations of a set in such a way that I could make a lazy list of them in Clojure. i.e. I'd like to iterate over a list of permutations where each permutation is not calculated until I request it, and all of the permutations don't have to be stored in memory at once. Alternatively I'm looking...