Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.


Marcel Weiher, metaobject GmbH.

MPWFoundation provides a number of technologies to Cocoa, Cocoa Touch and Objective-C development in general.

  • Higher Order Messaging (HOM)
  • Point and Rectangle objects
  • Efficient numbers and number arrays
  • Resource-loading conveniences for NSBundle

Storage Combinators

Implementation of in-process REST.

Stores Documentation

Object Filters

Unix pipes and filters meets dynamic messaging.

Filter Documentation

Higher Order Messaging

Messages that can take messages as an argument.

An example, a common delegate pattern that checks if the delegate responds to the message we want to send:

if ( [self.delegate respondsToSelector:@selector(windowWillClose:)] ) {
    [self.delegate windowDidClose:self];

can instead be expressed as

[[self.delegate ifResponds] windowDidClose:self];

Note that the first example, apart from being verbose, also has a bug that is enabled by the duplication and hidden by the verbosity.

HOM Documentation

Object Cache

Reuse temporary objects, quickly.


Serialization Documentation

  • Fast and memory-efficient implementation of binary proprerty lists
  • JSON generator
  • XML parser and generator
  • Fast CSV parser
  • Macro-based conveniences for NSArchiver and NSKeyedArchiver

Some more stuff


  • fast real and integer arrays
  • fast (small) dictionary with C-String keys


MPWFoundation is Copyright 1998-2018 by Marcel Weiher.
Dual licensed under BSD 3 part and LGPL.

You can’t perform that action at this time.