Clojure

Facebook Twitter

Caffeinated Simpleton » Blog Archive » Fifth: Static Storage and. Clojure setup. Leiningen Emacs ELPA slime/swank install problems - Cloj. Hi all, I recently started playing with leiningen, and it looks like it's going to help remove a lot of the incidental complexity in getting projects started with clojure!

Leiningen Emacs ELPA slime/swank install problems - Cloj

However I had some what of a hard time getting it going with Emacs/clojure-mode/slime... This is likely because clojure-mode/slime/swank evolve more quickly than I keep up, but that in itself is a problem... especially when there's little google-able discussion on the recomended methods online. Anyway I finally seem to have got things worked out... so I thought I'd document here what I tried... Perhaps this'll be useful to others. Leiningen Emacs ELPA slime/swank install problems - Cloj. Hi all,

Leiningen Emacs ELPA slime/swank install problems - Cloj

Caffeinated Simpleton » Blog Archive » Fifth: Static Storage a. Pcollections - Google Code. Brool's tokyo-cabinet at master - GitHub. Clojure rich hickey datatypes. > I'm still trying to get my head around the new features.

clojure rich hickey datatypes

Seeing more > code examples will definitely help. In the meantime, here is some > stream-of-consciousness thoughts and questions. > > Datatypes: > > I'm a little worried about the strong overlap between reify/proxy, > deftype/defstruct, and defclass/gen-class. I can just imagine the > questions a year from now when people join the Clojure community and > want to understand how they differ.

So I think that eventually, there > needs to be a very clear "story" as to why you'd choose one over the > other. Or better yet, maybe some of the older constructs can be > phased out completely. Clojars and Leiningen Automate Library and Dependency Management. Using libraries is easy but getting all the right ones onto your system can be a pain.

Clojars and Leiningen Automate Library and Dependency Management

Many languages solve the problem with repositories that host the libraries + metadata and tools that make it easy to pull the right versions of the libraries. In the Ruby space the solution is Ruby Gems, both a tool and packaging format; a default repository hosted at Rubyforge (Gems hosting will soon move to the GemCutter system, which offers more flexibility) makes it єasy to publish and consume Gems. In the Java space, Maven is a popular solution. Clojure performance tips « Occasionally sane. I originally wrote this in a Google Groups thread, but I figured it’s worth repeating here.

Clojure performance tips « Occasionally sane

Somebody posted a Java and Clojure snippet to the Clojure Google group and mentioned that the Java code was vastly faster than the Clojure code and he wondered if Clojure could get within reach of Java’s speed. In my own clj-starcraft project, I faced — and actually, still face — performance problems vis-à-vis Java. Specifically, at the time of this writing, my Clojure code is roughly 6 times slower than Java (Clojure takes around 70 seconds to parse 1,050 files, Java takes 12.) The 70 seconds figure used to be much worse however. At the beginning of the project, it took over ten minutes to analyze my 1,050 files. Thanks to Java’s nice profilers and the friendly Clojure folks, I was able to improve the performance of my program. Datatypes and Protocols - early experience program - Clojure. > I'm still trying to get my head around the new features.

Datatypes and Protocols - early experience program - Clojure

Seeing more > code examples will definitely help. In the meantime, here is some > stream-of-consciousness thoughts and questions. > > Datatypes: > > I'm a little worried about the strong overlap between reify/proxy, > deftype/defstruct, and defclass/gen-class. I can just imagine the > questions a year from now when people join the Clojure community and > want to understand how they differ.

So I think that eventually, there > needs to be a very clear "story" as to why you'd choose one over the > other. Or better yet, maybe some of the older constructs can be > phased out completely Yes, but there will be a transition period. A big part of the design thinking behind these features went like this: Clojure is built on a set of abstractions, and leverages/requires that the host platform provide some sort of high-performance polymorphism construct in order to make that viable. *** Prefer deftype to defstruct, unconditionally.

Brool » Tokyo Cabinet API for Clojure. I’ve been playing with Tokyo Cabinet and Clojure for a bit, and while I will go on about both of them in another blog post (or not), I have to mention that Clojure is such a well designed language that it’s a pleasure to play with.

brool » Tokyo Cabinet API for Clojure

It has much of the same intrinsic power as Haskell, but in a fashion that might be more approachable for people coming from Python or Ruby. At any rate, I made a small, thin layer around the Tokyo Cabinet API, and put it on Github. Another thin wrapper can be found at this blog. Copy of the README is below (the ultimate in lazy!). Introduction This is a simple interface to the Tokyo Cabinet libraries.

Object Computing, Inc. - Java News Brief - March 2009. By R.

Object Computing, Inc. - Java News Brief - March 2009

Mark Volkmann, Partner Object Computing, Inc. (OCI) last updated on 6/2/13 Contents Introduction The goal of this article is to provide a fairly comprehensive introduction to the Clojure programming language. Please send feedback on errors and ways to improve explanations to mark@ociweb.com, or fork the repository and send a pull-request. You said X, but the correct thing to say is Y. Online Learning in Clojure ← Structure & Process. Online Learning is a relatively old branch of machine learning that has recently regained favour for two reasons.

Online Learning in Clojure ← Structure & Process

Firstly, online learning algorithms such as Stochastic Gradient Descent work extremely well on very large data sets which have become increasingly prevalent (and increasingly large!). Secondly, there has been a lot of important theoretical steps made recently in understand the convergence behaviour of these algorithms and their relationship to traditional Empirical Risk Minimisation (ERM) algorithms such as Support Vector Machines (SVMs).

In order to understand these algorithms better, I implemented a recent one (Pegasos, described below) in Clojure. Statistical Learning in Clojure Part 1: LDA & QDA Classifier. This will hopefully be the first of a series of posts based on a book that has substantially influenced me over the last several years, The Elements of Statistical Learning (EoSL) by Hastie, Tibshirani, and Friedman (I went and got a degree in statistics essentially for the purposes of better understanding this book).

Statistical Learning in Clojure Part 1: LDA & QDA Classifier

Best of all, the pdf version of EoSL is now available free of charge at the book’s website, along with data, code, errata, and more. This post will demonstrate the use of Linear Discriminant Analysis and Quadratric Discriminant Analysis for classification, as described in chapter 4, “Linear Methods for Classification”, of EoSL. I will implement the classifiers in Clojure and Incanter, and use the same data set as EoSL to train and test them. The data has 11 different classes, each representing a vowel sound, and 10 predictors, each representing processed audio information captured from eight male and seven female speakers.

Details of the data are available here. (eq 4.7) Chaos Theory vs Clojure « Best In Class – The Blog. Home. Using Clojure as an embedded / hosted scripting language - Cloju.