A Haskell to Objective-C Binding
Home  | Download  | Examples  | Screenshots  | Documentation  | Support

HOC Has Moved

HOC has moved to Google Code. The pages at sourceforge are outdated, and so is the source code available from here.


HOC is a Haskell to Objective-C binding. In a nutshell, it enables you to use Objective-C objects and frameworks from Haskell, and also enables you to write Objective-C objects in Haskell.

The Haskell interfaces produced by HOC are:

  • Typed: Take advantage of Haskell's sound type inference to help you develop robust, correct Cocoa/GNUstep applications on your first compile.
  • Automatically Generated: HOC comes with an interface generator to generate Haskell bindings to Objective-C's objects; use it even with your own custom Objective-C frameworks!
  • Haskell-Friendly: We make heavy use of key Haskell features such as type classes and partial application, to ensure that the HOC API is as 'Haskell-like' as possible.

You can write full-blown applications in HOC and use all of the Foundation, AppKit and Cocoa frameworks' classes (including all of the AppKit's GUI objects), combining Objective-C tools such as Mac OS X's advanced Interface Builder to build the GUI graphically while writing controllers for the GUI in Haskell. You can even mix and match custom objects written in Objective-C with objects written in Haskell, depending on which language you find more suitable for the task.


Wednesday, 19 May 2004: HOC 0.7 released. HOC 0.7 is a complete rewrite of the early HOC development snapshot. See the release notes, or download it here.

Thursday, 2 Jan 2003: HOC development snapshot released. See the full release announcement, or download it here.


In the spirit of the Haskell and Mac OS X open-source communities, HOC is provided under the liberal BSD license.


The authors of HOC are Wolfgang Thaller and André Pang.

SourceForge.net Logo