måndag 6 februari 2012

Announcements of interest

There was some intresting ANNouncements in the list:

Ann: clj-aws-s3 0.2.0 (Weavejester, 4th feb)
This library gives access to the more advanced features of Amazon S3. I've used S3-functionality in Noir previously, but this was a quite simple solution simply covering a very common use case (send a file to S3 and make it readable for all).

Clj-aws-s3 seems to be different, supporting creation of buckets. ACL functionality to come.

CongoMongo is a wrapper for the Java driver for MongoDB. The nice part is a very good match between clojures map data structure and MongoDBs way of storing things. You can use both maps {:a "b"} and vectors [] (but not #{} sets) out of the box.

side note:
I made a gist on how to create mongoIds in Clojure, if you would need it. Most probably not, since the ordinary use case is to put a map in and then recall it somehow based on other things than id.

[ANN] Marshal 1.0.0 (github, clojars, Russell Christopher)

The idea is to be able to use Clojure to read binary data formats/streams in a structured way.

The release note gives the following example:

//C header file definition
struct packet {
unsigned long type;
unsigned long size;
long data[1];

translated to Clojure:

(require '[marshal.core :as m])
(def packet (m/struct :type m/uint32 :size m/uint32 :data (m/array m/
sint32 :size)))
(m/write output-stream packet {:type 1 :size 2 :data [1 -1]})
(m/read input-stream packet)
=> {:type 1 :size 2 :data [1 -1]}
An enlighting discussion followed, promoting the library Gloss as a library with similar and even more functionality.

Ann: Clojure 1.4.0-beta1
Clojure 1.4.0 is going beta! The good parts would be better support for clojure-in-clojure, making it easier to port clojure to new platforms (projects regarding Python, PHP and LLVM is discussed).

My impression is that there are a lot of speed achievements to be made (especially with protocols, records and other nice abstractions over OO-engines).

Inga kommentarer:

Skicka en kommentar