Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Bringing Smalltalk and Ruby collections methods to Objective-C since 2011
Objective-C Ruby
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Collections Mac.xcodeproj
Collections Mobile.xcodeproj


libCollections is an Objective-C library that brings methods from Smalltalk's collection protocol and Ruby's Enumerable mixin to Objective-C projects. libCollections adds these methods as categories to the Foundation framework's collections classes. (Not all of Ruby's Enumerable methods are implemented, but some of them aren't really relevant or useful and probably won't be.)

What does it run on?

libCollections uses C blocks extensively. I've only tested it on 10.6, but it should work on 10.5 as well. Currently it compiles as a dynamic library on OS X, and as a static library for iOS.

Can I use it now?

Maybe. The planned functionality is implemented for NSArray, NSSet, and NSDictionary, but it hasn't been extensively tested (to be honest, the unit tests are kind of pathetic), nor has the code been written as "tightly" or efficiently as it could be. It hasn't been tested in an iOS app at all. This is an early in-development version at the moment, so use at your own risk.

Who created this?

libCollections is written by Michael Dippery. I had been meaning to create such a library for a while (I like the collect: and inject:into: methods from Smalltalk and Ruby, and miss them in Objective-C), but I was motivated to finally sit down and write the code by a post on Stack Overflow.

Something went wrong with that request. Please try again.