Goals of CUFP
The goal of CUFP is to build a community of users of functional programming languages and technology, regardless of whether community members use functional languages in their professional lives, in an open source project (other than in the implementation of functional languages), as a hobby, or any combination thereof. In short: anyone who uses functional programming as a means, not an end.
CUFP aims to help functional programming become increasingly viable as a technology for use in the commercial, industrial, and government space by providing a forum for FP professionals to share their experiences and ideas, whether business, management, or engineering. It also aims to enable the formation and cementing of relationships and alliances that further the commercial use of functional languages. Providing user feedback to language designers and implementers is not a primary goal of CUFP, though it will be welcome if it occurs.
In pursuit of this goal, CUFP holds an annual meeting at which people present their stories of how functional programming has worked (or not!) for them. The meeting may also include tutorials and other content aimed at helping users of functional programming languages. The program for the meeting is put together by a program committee, typically chaired by two people, serving staggered two-year terms. It is the responsibility of the program chairs to form a program committee with the consultation and approval of the CUFP Board/SC and the SIGPLAN Chair and Vice Chair to secure continued SIGPLAN sponsorship.
The steering committee is responsible for setting the long-term direction of CUFP, both for the annual meeting and for any other activities deemed to forward the goals of CUFP. The chair of the steering committee serves a two-year term. The steering committee is comprised of the following:
The four most recent program committee co-chairs (starting as soon as a person agrees to be a program committee co-chair)
Four members-at-large (serving 4-year terms, one turning over at CUFP each year)
In years in which a new steering committee chair has been elected, the previous steering committee chair remains a member of the committee for continuity
Each year the steering committee will meet and take the following actions to renew its membership:
If the steering committee chair has completed their term, a new steering committee chair is elected, typically from among the other members of the committee. The now prior steering committee chair remains a member of the committee for a year to ensure continuity. If the steering committee chair is continuing in their role, then the prior chair retires from the committee unless they also serve in some other role.
Elect new program committee co-chairs, typically two, retaining the most recently elected program committee co-chair for continuity and choosing a new co-chair. The four most recently elected co-chairs now serve on the steering committee. Prior holders of that role retire from the committee unless they continue to serve in some other role.
Elect a new member-at-large who is not otherwise serving on the committee. The four most recently elected members-at-large now serve on the steering committee. Prior holders of that role retire from the committee unless they continue to serve in some other role.
New steering committee members should be chosen to ensure representation on the steering committee of the breadth of the CUFP community. Diversity factors include those under the SIGPLAN diversity policy. In addition, we strive to include people from a variety of industries and using a variety of functional programming languages. In the event that someone is unable to serve to the completion of his or her term, the steering committee will appoint someone to fill the vacancy.