Skip to content
0:00 / 0:00

#johnhughes#functionalprogramming#lazyevaluation

Why Functional Programming Matters by John Hughes at Functional Conf 2016

ConfEngine

14K subscribers • 16 videos on Hallway

YouTube
  • Recommended by 3 people: 2 in engineering communities and 1 curated list.
  • A classic. People kept recommending it from 2016 to 2022.
  • Presented by John Hughes
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

71K views10 years ago3 recommendations

Programming languagesSoftware designFunctional programmingHaskellElixir and Erlang

John Hughes explains how functional programming features like higher-order functions and lazy evaluation improve software modularity and structure.

25 years ago I published "Why Functional Programming Matters", a manifesto for FP--but the subject is much older than that! As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularised. Functional languages push those limits back. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute greatly to modularity. As examples, we manipulate lists and trees, program several numerical algorithms, and implement the alpha-beta heuristic (an algorithm from Artificial Intelligence used in game-playing programs). Since modularity is the key to successful programming, functional languages are vitally important to the real world. In this talk we'll take a deep dive into history to revisit our personal selection of highlights. More details: confengine.com/functional-conf-2016/proposal/2965/why-functi… Conference details: functionalconf.com/

Why it's here

3 people recommend this

What people say. Recommended as a classic, foundational talk and paper on the core benefits of functional programming.

Moments people linked to

u/yourdigitalvoicein r/functionalprogramming • Recommends

John Hughes history lesson on the development of functional programming and why it matters. A great intro to FP!

u/Iceland_jackin r/haskell • Recommends

Why Functional Programming Matters by John Hughes (+ opening a discussion)

programming-talkscurated list on GitHubRecommends

Under “Functional Programming”

Why Functional Programming Matters 00:56:09 by **John Hughes** (2016)

u/Ford_Oin r/haskell • Mentions

Functions as data - What are the benefits? I have stumbled today upon this great talk where John Hughes talked about using functions as data structures. But I fail to see where do the benefits of this approach kick in. In the simple example with booleans where : true a _ = a false _ b = b I see that using `true, false` instead of `True, False` could help with or even prevent boolean blindness. In the more complex example starting at 20:20 I don't see any benefits at all - for example : beside (fish1, fish2) (a, b, c) = (fish1 a (b/2) c, fish2 (a+b) (b/2) c) could easily be defined as beside (a, b, c) = (Fish a (b/2) c, Fish (a+b) (b/2) c) so what's the point of us…
13View on Reddit

u/wjholdenin r/compsci • Mentions

On “Reintroducing Dip - My take on a programming language for beginners”

…be really confusing for novices. Others in this thread make a good argument for Python's indentation but, still, this is something confusing to some people. My first thought at looking at Dip, though, is that it encourages the same old single-threaded, low-level, imperative/procedural programming model that is arguably holding the world back (see link to this video or read https://dl.acm.org/doi/10.1145/359576.359579). I think my concern about the over-emphasis on procedural programming is demonstrated in your Fibonacci and factorial functions. Both of these sample programs are provided as loops. Traditionally, these functions are pedagogically introduced in their recursive form to motivate conversat…

u/quiteamessin r/functionalprogramming • Mentions

On “Need help writing a review for Turing Award Article by John Backus on functional vs Von Nuemann (traditional) style of programming.”

This talk might give you some background.
2View on Reddit