Boost logo

Boost :

From: Greg Colvin (gcolvin_at_[hidden])
Date: 2000-11-17 14:05:58


OK. From the article the authors seem very proud of their work,
and interested in seeing it make a difference to the Standard,
so I want to be sure that whatever makes it into Boost takes
advantage of whatever is best in their approach. I am not myself
competent to judge.

----- Original Message -----
From: Gary Powell <Gary.Powell_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Friday, November 17, 2000 11:57 AM
Subject: RE: [boost] Functional Programming in C++

> Yes, the other libraries is this area are
>
> FACT! at
> http://www.fz-juelich.de/zam/FACT
>
> and of course lambda at
> http://lambda.cs.utu.fi
>
> and then there is PETE! at
> http://www.acl.lanl.gov/pete
>
> And our own Peter Dimov's which is in the vault
> http://www.egroups.com/files/boost/expression/
>
> These libraries all try to solve different pieces of the functional
> programming problem. I'm partial to lambda, but then I helped write a bunch
> of it. If you are interested in template programming they all have
> interesting code in them.
>
> -gary-
>
> gary.powell_at_[hidden]
>
----- Original Message -----
From: Greg Colvin <gcolvin_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Friday, November 17, 2000 11:45 AM
Subject: [boost] Functional Programming in C++

> I was just catching up on my reading and found an interesting paper in the
> proceedings of the 2000 International Conference on Functional Programming
> which looks relevant, to the small extent I understand it, to the similar
> work here on Boost.
>
> I found the following on the Web for those might care to check it out:
>
> http://www.cc.gatech.edu/~yannis/fc++/
>
> FC++ is a library for functional programming in C++. Functional
> programming is a programming paradigm in which functions are treated as
> regular values. Thus, we can have functions that take other functions as
> parameters. The former functions are called "higher-order" functions. A
> common feature of functions is that they can be polymorphic. "Polymorphic"
> means that the same function can be used with arguments of many types.
> FC++ is distinguished from other libraries (including the C++ Standard
> Library) by its support for rank-2 polymorphism: FC++ polymorphic higher-
> order functions can take other polymorphic functions as arguments and
> return polymorphic functions as results. This is particularly useful
> (i.e., simplifies code) in C++ where type inference is limited and we
> often need to pass polymorphic functions around and determine their type
> later.
>
> With FC++ you can define your own higher-order polymorphic functions, but
> the library also contains a large amount of functionality that can be re-
> used as-is in C++ programs. This includes infinite ("lazy") lists, useful
> higher-order functions (like map, compose, etc.), a reference-counting
> facility that can be used to replace C++ pointers, many common logical and
> arithmetic operators in a form that can be used with higher-order
> functions, and more.
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk