NARCL 0.4.1

[ Posted by Urban Hafner Wed, 10 Aug 2005 11:47:00 GMT ]

This release just adds a better README, actually a README that should be useable.

Download: narcl-0.4.1.tar.bz2

Have fun.

Tags , , , , , ,

NARCL 0.4.0

[ Posted by Urban Hafner Sun, 07 Aug 2005 17:07:39 GMT ]

This is the release of version 0.4.0 of NARCL.

The tarball can be found here: narcl-0.4.0.tar.bz2.

The darcs repository is at http://www.cip.ifi.lmu.de/~hafner/darcs/narcl

What’s new?

This release is almost a complete rewrite of the whole library. The main purpose was the speedup of the rule mining. I have come quite far in this direction but I am by no means finished with it.

The aim is to allow association rule mining of data sets with at least 125,000 transactions and about the same number of items in reasonable time.

Have fun with the program and of course feedback is welcome.

Tags , , , , , ,

Practical Common Lisp

[ Posted by urban Sun, 17 Apr 2005 20:37:50 GMT ]

So you want to know what it’s all about this language with the weird syntax (and I’m not talking about Perl here :))? Then Practical Common Lisp by Peter Seibel might be just the right book for you.

It gives you everything you will need to start your lisp hacking. And contrary to many other programming language books it’s really a book about practical stuff. And if you don’t want to spend the money for the dead tree version just yet, you can get the complete text from the books website.

Tags ,

First release of NARCL

[ Posted by urban Sat, 02 Apr 2005 12:31:36 GMT ]

This is the announcement for NARCL version 0.1.0.

What is NARCL?

NARCL stands for Negative Association Rules in Common Lisp. As the name suggests it is a program to find association rules and it is written in Common Lisp.

Why did you write it?

At the time where I started writing it no program existed that could compute negative association rules. But I may eventually need a program like that in the future.

How mature is the program?

Well, its version is 0.1.0 so you can imagine. What works is the computation of negative and positive association rules on a given set of transactions. But it is very slow, due to the use of rather inefficient data structures. Nonetheless it might be useful to some people, so here it is.

What license does it have?

The code is licensed under the LLGPL which is essentially the LGPL with some Lisp specific additions and clarifications.

Where can I download it?

You can download the source as a compressed tar ball from my web site:

Tags , , , , , ,

Project Idea 2: Hummingbird - A parallel Common Lisp

[ Posted by urban Sat, 02 Apr 2005 12:29:29 GMT ]

This project is actually two projects at once:

  1. The implementation of a Common Lisp compiler. Something that I wanted to do for quite a while.
  2. Adding support for parallel programming to Common Lisp. I’m currently reading Concepts, Techniques, and Models where I will hopefully learn much about parallel programming paradigms.

You may ask why I would want to write yet another Common Lisp implementation. It’s of course true that there are enough implementations already out there and it remains to be seen if I will be able to actually complete the thing. After all Common Lisp is a huge language. But I consider myself a hacker (even though I don’t qualify as a geek :)) and I really want to write a compiler myself.

And that’s where the second goal comes into play. Why not use the virtual machine of a already parallel language? This would probably mean that there is already support for parallelism in the VM. I don’t know how much easier that will make the implementation but it’s a nice excuse :)

The first step is already made. I’ve found a name for it: Hummingbird. It doesn’t have any deeper meaning it’s just a name that I like. The next step will be to finish reading ‘Concepts, Techniques, and Models’ to have a good grounding in parallel programming. Then Lisp in Small Pieces is waiting in one of my shelves to be read. Meanwhile I will look at the VMs of parallel languages out there (like Mozart and Alice, which is based on SEAM) and watch what other Parallel Lispers are doing (like Dirk Gerrits Erlisp project).

Even though my plan might sound nice to you, it has several flaws:

  1. The book ‘Concepts, Techniques, and Models’ is a 1000 page computer science text book. Far from light reading. I can’t even estimate how long it will take me to finish reading it.
  2. And the ‘Lisp in Small Pieces’ isn’t light reading, too. At least not for me, who doesn’t have that much experience is writing compilers (i.e. I haven’t written one yet!).
  3. I’m really bad at actually finishing stuff, especially programming projects.

So why do I write a blog entry about it then? Well, firstly because writing things down helps me to make them more clear and secondly because you might like this idea and start implementing it. Even though I’d like to implement it myself I’d be happy to just play with the result, too.

Tags , ,