104,833 research outputs found
How functional programming mattered
In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming matters’. More than two decades have passed. Has functional programming really mattered? Our answer is a resounding ‘Yes!’. Functional programming is now at the forefront of a new generation of programming technologies, and enjoying increasing popularity and influence. In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about programs
Why functional programming really matters
The significance of functional programming is revealed as that the feasible approach to language extensibility which it enables is further applicable to programming in general and beyond. The essence of functional programming is its enablement of programmer-defined function-valued functions. The feasibility of language extension by normal programmers depends upon the exclusion of interpretation in favour of direct definition, and higher-order functional programming is the key to enabling definitional rather than interpretational extensions. Functional programming thus offers the opportunity for the exclusion of the interpretation that otherwise pervades programming in general, and may be applicable beyond to analog computing and systems in general. Nevertheless, specific technical challenges need to be met before "totally functional programming" can realise its promises
Programming with Algebraic Effects and Handlers
Eff is a programming language based on the algebraic approach to
computational effects, in which effects are viewed as algebraic operations and
effect handlers as homomorphisms from free algebras. Eff supports first-class
effects and handlers through which we may easily define new computational
effects, seamlessly combine existing ones, and handle them in novel ways. We
give a denotational semantics of eff and discuss a prototype implementation
based on it. Through examples we demonstrate how the standard effects are
treated in eff, and how eff supports programming techniques that use various
forms of delimited continuations, such as backtracking, breadth-first search,
selection functionals, cooperative multi-threading, and others
The essence of component-based design and coordination
Is there a characteristic of coordination languages that makes them
qualitatively different from general programming languages and deserves special
academic attention? This report proposes a nuanced answer in three parts. The
first part highlights that coordination languages are the means by which
composite software applications can be specified using components that are only
available separately, or later in time, via standard interfacing mechanisms.
The second part highlights that most currently used languages provide
mechanisms to use externally provided components, and thus exhibit some
elements of coordination. However not all do, and the availability of an
external interface thus forms an objective and qualitative criterion that
distinguishes coordination. The third part argues that despite the qualitative
difference, the segregation of academic attention away from general language
design and implementation has non-obvious cost trade-offs.Comment: 8 pages, 2 figures, 3 table
Confessions of a live coder
This paper describes the process involved when a live coder decides to learn a new musical programming language of another paradigm. The paper introduces the problems of running comparative experiments, or user studies, within the field of live coding. It suggests that an autoethnographic account of the process can be helpful for understanding the technological conditioning of contemporary musical tools. The author is conducting a larger research project on this theme: the part presented in this paper describes the adoption of a new musical programming environment, Impromptu, and how this affects the author’s musical practice
- …