Helping ordinary people create extraordinary websites!
HOME TUTORIALS SCRIPTS WEB HOSTING BLOG FORUM
Get Our Newsletter
Your Email:

Higher Order Functions

By Jonathan Bartlett
2005-05-13


Resources

Teach Yourself Scheme in Fixnum Days is a great online tutorial of the Scheme language.

The Function Pointer Tutorials site has a great discussion on using function pointers in C/C++.

• Even if you have mastered modern programming, relearning computer science through the book How to Design Programs is an eye-opening read on the expressive power of functions and functional programming.

• Chapter 5 of Essentials of Programming Languages has four different implementations of object-oriented Scheme, with a good discussion of the pros and cons of each.

SRFI 1 contains a whole load of useful functions for lists, many of which takes function parameters to extend their processing (SRFI's are like RFC's for Scheme).

• The Gtk+ 2.0 API has a whole closure API that is worth looking at.

• The tutorial "An Introduction to Scheme and its Implementation" has a section on how Scheme interpreters implement environments for handling closures.

Inside memory management (developerWorks, November 2004) details how memory management works, how to manage memory manually, how to manage memory semi-manually using referencing counting or pooling, and how to manage memory automatically using garbage collection.

Better programming through effective list handling (developerWorks, January 2005) highlights singly linked lists and their processes and examines Scheme.

Functional programming in the Java language (developerWorks, July 2004) demonstrates how to use functional programming constructs such as closures and higher order functions to write well-structured, modular code in the Java language.

Charming Python: Functional programming in Python, Part 1 (developerWorks, March 2001) introduces some fundamental concepts of functional programming and shows how to implement functional programming techniques in Python.

Charming Python: Functional programming in Python, Part 2 (developerWorks, April 2001) covers closures in Python.

Charming Python: Functional programming in Python, Part 3 (developerWorks, June 2001) covers currying (named after the logician Haskell Curry, this allows the return value of functions to themselves be functions but with the returned functions "narrowed") and other high order functions.

• Find more resources for Linux developers in the developerWorks Linux zone.

• Get involved in the developerWorks community by participating in developerWorks blogs.

• Purchase Linux books at discounted prices in the Linux section of the Developer Bookstore.

Order the no-charge SEK for Linux, a two-DVD set containing the latest IBM trial software for Linux from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.

• Innovate your next Linux development project with IBM trial software, available for download directly from developerWorks.

Tutorial Pages:
» Using functions for such higher order purposes as arguments, function-generating functions, and anonymous functions
» Creating anonymous functions
» Functions as function arguments
» Using functions as arguments
» Building functions at runtime
» Functions and object-oriented programming
» Of the highest order
» Resources


First published by IBM DeveloperWorks


 | Bookmark
Related Tutorials:
» How to Install PHP 5 on Linux
» How to Install Apache 2 on Linux
» How to Install MySQL 5.0 on Linux
» SMB Caching
» Mound --Bind
» Tar Wild Card Interpretation