News

Stack Overflow

Groups

I understand how to construct goals using the primitives provided in core.logic, like a conjunction with fresh or all, and using relations defined with defrel. However, I don't really understand the protocols of goals once I no longer use these primitives. How would I define my own comparison like function? Instead of unifying,

I'm just getting started with logic programming, and it is entirely possible I'm just approaching this incorrectly. Is it possible to use dynamically generated goals in run* ? For example, (defrel grade person course g) (fact grade 'Bob 'Algebra 'B) (fact grade 'Bob 'Art 'C) (fact grade 'John 'Algebra 'A)

Build box has done its job, not sure how long it takes to become visible through maven central. You can follow along: Code changes [link]. Issue tracking [link]. Dev mailing list [link]

core.logic has had the facilities to integrate with external data sources for a very long time. However this feature has been poorly documented. Hopefully the following improves the situation a little bit: [link]) David

Is there work towards building an algebra system with core.logic? So one could analyze mathematical expressions: compute symbolic derivatives, simplify expressions, determine undefined variables, and other forms of analysis. If there isn't, I have a good starting problem that I need help on. Lets say I have a bunch of equations, with the left hand side a single

I noticed that the function delete-file-recursively is present in clojure-contrib java-utils package, but it's missing in clojure.java.io. Is there any other function for deleting a directory recursively? [link]

It seems that the known issue of lein1 (repl hanging sometimes after printing), is still present on lein2... The only way to avoid this is to aot compile at least one namespace and then do "lein2 run", which is exactly what I used to do before upgrading... Any insights? Is this what everyone else is doing to get around that problem?

Hello friends, Today I decided to hack together a simple learning tool that mashes Jonas Enlund's sweet kibit tool ([link]) with Emacs to ease its use on your Clojure projects. You can find my work at [link] Right now this is just a reporting tool that will tell you if kibit

In our production development environment, we perform a lot of data transfers between diverse systems, and most of those transfers involve comma-delimited (.csv) data. So my first small Clojure applications have revolved around the clojure-csv library. While learning Clojure I have seen the comment that using nth "stinks",

From what I can see core.match does not support matching a variable length series of values. For example, in a vector, match a series of 0-to-N values of "1" followed by a value of "2". I am interested to know whether/how match patterns like this would fit into core.match. Thank you. -David McNeil

Blogs

I’m constantly on the lookout for fresh perspectives (and unknown old perspectives for that matter) within various computing topics that I find interesting. Sites like Delicious and Pinboard are great for finding information, but they are far from perfect. One downside is that they are largely driven by user tagging, but the clear problem is [...]

With the help of Twitter friends1 I developed a directed graph of traditionally functional programming languages and their influences on one another. The latest version is as follows: View different sizes | View the Graphviz Dot source note: Ovals represent languages while blue boxes represent language families represented by an ideal implementation. This is not [...]

I rarely declare new year resolutions but for some reason I felt oddly compelled to do so this year (2012). These were formulated in the beginning of the year, but here they are for posterity’s sake: Read 52 books (done) Listen to everything Béla Bartók ever composed Create a programming language Commit to open source [...]

this is the fifth entry in an n-part series explaining the compilation techniques of Clojure. In honor of the upcoming Clojure’s Google Summer of Code projects I present some discussion of the ClojureScript compiler pipeline. I talked about this in my ClojureWest talk, but a little more discussion is welcomed. Much of what I say [...]

Google Code Jam #1 2012-04-15 09:45:41 Google is getting ready for another Code Jam and here I'll provide the solution to their first challenge

Trammel is a Clojure providing contracts programming (sometimes called “Design by Contract” or DbC) capabilities. Features of Trammel currently include: Contracts on functions Composable contracts Post-definition function contract application defrecord and deftype invariants Reference type invariants (i.e. Agents, Atoms, Refs, and Vars) Ability to turn-off checks in a production setting Support for Clojure versions 1.3 [...]

Shameless plugs: Clojure Programming is out! Available now as an ebook and in a few days in paper! Come to my Clojure training in Geneva it will be in a mixed language (French/English) setting — for an English-only training stay tuned! Making conjunction fair is the reason why I messed up with core.logic, and this [...]

Yes, I refer to myself in the third person. Who doesn’t? 1 I couple weeks ago Craig Andera interviewed me for the Relevance podcast. I have been with Relevance for a year and in this podcast I talk a bit about its culture, pairing, ClojureScript, Himera, reading, and zombies.2 The podcast “album cover” was designed [...]

When ClojureScript was first announced there was much gnashing of teeth over the fact that it provided neither eval, nor runtime macros. In response, I did tackle the matter of eval, but code speaks louder than words, so I therefore present Himera, a ClojureScript compilation web-service. I have a deployment of Himera on Heroku (shown [...]

What lein-generative is A Leiningen plugin used to run generative tests defined using the test.generative Clojure contrib library. Getting This is currently only proven to work in Leiningen versions earlier than 2.0. It might work with v2.0, but I’ve yet to try. Add the following to your Leiningen project.clj file in the :dev-dependencies section: [lein-generative [...]

About

Website by Matthias Schneider (@dermatthias) - What is planned for this site? (aka todo)