Skip to content

mpw/MPWFoundation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

24526e9 · Oct 11, 2024
Sep 26, 2024
May 21, 2024
Jul 16, 2020
Aug 19, 2018
Jul 30, 2024
Mar 12, 2024
Oct 11, 2024
Apr 17, 2018
Jun 6, 2014
Sep 16, 2024
Mar 7, 2019
May 23, 2016
May 23, 2023
Jul 30, 2024
Aug 14, 2022
Oct 11, 2024
Aug 14, 2022
Sep 13, 2024
Sep 13, 2024
Dec 21, 2016
Mar 9, 2023
Jul 30, 2024
Jan 25, 2013
Jan 1, 2021
Mar 9, 2023
Jan 29, 2011
Aug 25, 2016
Sep 13, 2024
Dec 10, 2018
May 15, 2018
Oct 18, 2016
Jan 29, 2011
Jan 29, 2011
Aug 25, 2017
Nov 17, 2018
Aug 25, 2020
Jan 29, 2011
Jan 29, 2011
Jan 29, 2011
Mar 22, 2020
Jan 29, 2011
Apr 26, 2021
Nov 26, 2018
Jan 29, 2011
Jan 29, 2011
Jan 29, 2011
Jan 29, 2011
Apr 13, 2021
Nov 19, 2018

Repository files navigation

MPWFoundation

Marcel Weiher, metaobject GmbH. http://www.metaobject.com

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

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

Collections

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

License

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