---
name: fc++
version: 1.5
origin: devel/fc++
comment: Functional Programming in C++
arch: freebsd:9:x86:64
www: http://people.cs.umass.edu/~yannis/fc++/
maintainer: ports@FreeBSD.org
prefix: /usr/local
licenselogic: single
flatsize: 320472
desc: |
  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 complete support
  for 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.

  WWW: http://people.cs.umass.edu/~yannis/fc++/
categories: [devel]
options: {DOCS: on}
files:
  /usr/local/include/fc++/config.h: cfae95cca94ff2fbf6c90c69f16fa08027eb6aade000a5215e02424d5420fbc6
  /usr/local/include/fc++/curry.h: 4ba862bef8ad8881cf8947b8a64f42885ac814ce74085702111511b6ae5b9145
  /usr/local/include/fc++/full.h: 0024f3539557f41ff5ca2b346c217679438062a08b0423a602f0cea0082d130d
  /usr/local/include/fc++/function.h: 94fca17c5d4514c80458bb6101c15e5dbbdee430186d69205cfc36f8f571fa71
  /usr/local/include/fc++/lambda.h: 4f8aaaf0d645eda8f300d544c5d98bd38ed34000eae98374df608a0ba46467df
  /usr/local/include/fc++/list.h: e82c71c9330f3d987e450248cfbcd1b90f8fa86e7eab5593030b052a59132141
  /usr/local/include/fc++/monad.h: 0ce0e7ce3b7c010fdc3c50fed8c424457d259ae5be09217e3066ee0d1cc61ff0
  /usr/local/include/fc++/operator.h: f51a2ccb49a6c825238ce1296b2ec66c9b282c919737181e61f47050714c0408
  /usr/local/include/fc++/pre_lambda.h: 2866ec016e23d589c93987da65df9b5accee6d6d772ab1907eb0449bf15332db
  /usr/local/include/fc++/prelude.h: 9869302f38788b7d6b10d83da3f3d8d83a68bfbebf0412aca0a90a2b1c5495bb
  /usr/local/include/fc++/ref_count.h: bc785830fdfc1d869d265d0c8f87b205fef36aad69a67aa2cfb92a40be13303d
  /usr/local/include/fc++/reuse.h: 66959273ffb3ec8fdf57d6a2d8de30904b2377ed89cbaf88e3bbc75f66c8fcbb
  /usr/local/include/fc++/signature.h: 5937f07ab3bddbdb718369798843e4c2c0ee851fc8600935ccca759ad48e35bb
  /usr/local/include/fc++/smart.h: b0c05d8683ded574d8266de6f24e5125f3ac44ced42f204cc181a4df53d1f867
  /usr/local/share/doc/fc++/changes.html: f714fc5ac5cb1417f7f0c4635845a692b933ba830543dfb72e671d955b218aa2
directories:
  /usr/local/share/doc/fc++/: n
  /usr/local/include/fc++/: n
scripts: {}
