Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Higher-order functions for C

branch: master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 apply.c
Octocat-spinner-32 apply.h
Octocat-spinner-32 unittest.c

libapply -- Higher-order programming for C

This library is was inspired by Higher-order programming for C, a library which implements a functional-style apply() operation in C.

The original implementation only allowed functions which take long arguments. This library allows passing any POD data type.

This implementation only support x86_64 at the moment, and includes inline assembly to implement the AMD64 C calling convention.

Please fork this project if you are interested in adding i386 or other implementations.


Only x86-64 is supported at the moment.


Run the unit tests by doing make test.

Related Links

The Hacker News discussion.

Something went wrong with that request. Please try again.