FreeBSD Ports

devel/fc++ 1.5

Functional Programming in C++

Repository
FreeBSD ports
Maintainer
[email protected]
Categories
devel
Package size
50.5 KiB, 313.0 KiB installed

Description

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.

Install

As a binary package — by origin, or by package name:

pkg install devel/fc++
pkg install fc++

From the ports tree:

cd /usr/ports/devel/fc++/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	fc++>0:devel/fc++

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.51.51.51.51.5
FreeBSD:14:quarterly1.51.5n/a1.51.5
FreeBSD:15:latest1.51.5n/a1.51.5
FreeBSD:15:quarterly1.51.5n/an/an/a
FreeBSD:16:latest1.51.5n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

No port depends on this one.

Configuration

Options name: devel_fc++

OptionDefaultDescription
DOCSoffBuild and/or install documentation
Service scripts
none

Message after installing

===>   NOTICE:

The fc++ port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://docs.freebsd.org/en/articles/contributing/#ports-contributing

Files

pkg-plist 15
  • include/fc++/config.h
  • include/fc++/curry.h
  • include/fc++/full.h
  • include/fc++/function.h
  • include/fc++/lambda.h
  • include/fc++/list.h
  • include/fc++/monad.h
  • include/fc++/operator.h
  • include/fc++/pre_lambda.h
  • include/fc++/prelude.h
  • include/fc++/ref_count.h
  • include/fc++/reuse.h
  • include/fc++/signature.h
  • include/fc++/smart.h
  • share/doc/fc++/changes.html
distinfo 1
FileSizeSHA256
FC++.1.5.tar.gz592154062db28539bc5e2b3024c7d7a6ec1f11bad8a861beabbcff80ba2c6a8390d92
Master sites 1
  • http://people.cs.umass.edu/~yannis/fc++/

Commit history 0

No commits in the history this site was built from.