Functional programming

Possible reference materials for this topic include

There have been 1 completed talk and 1 topic suggestion tagged with functional programming.

Related Tags

Completed Talks

Total Functional Programming

Delivered by Adam Hofmann on Friday March 3, 2017

Total functional programming is a paradigm of functional programming with the additional restriction that all functions must be total; that is, every function is defined for every element of its domain.

The immediate benefits of total functional programming are clear; every function in a total language is guaranteed to terminate and not cause a runtime error. This talk will cover the basics of writing and understanding functions that are total, as well as benefits that come from having totality.

Also in the scope of this talk is the major trade offs of total functional programming, including Turing completeness and things like input and output that seem unattainable. This is accompanied by strategies to write functions with non-trivial proofs of termination such that totality is guaranteed and verifiable by the interpreter.

Talk Suggestions

Purely Functional Data Structures

Persistent (or purely function) data structures are those whose operations do not mutate the existing data structure, but rather create a new data structure that might share some state. These data structures are useful because there is no need to copy memory; rather the data structure can be shared among multiple objects. Techniques for making these data structures fast, memory-efficient, or real-time are an active area of research in functional programming.

Possible reference materials for this topic include

Quick links: Google search, arXiv.org search, propose to present a talk

computer science data structure functional programming