# FUN: First-Class Functions, Currying, and a Surprise

**URL:** https://discourse.elm-lang.org/t/fun-first-class-functions-currying-and-a-surprise/10910
**Category:** Show and Tell
**Created:** [September 23, 2026, 8:38am UTC](https://discourse.elm-lang.org/t/fun-first-class-functions-currying-and-a-surprise/10910 "2026-09-23T08:38:41Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![dwayne](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/dwayne/32/5478_2.png) [@dwayne](https://discourse.elm-lang.org/u/dwayne)
#### Post date: [September 23, 2026, 8:38am UTC](https://discourse.elm-lang.org/t/fun-first-class-functions-currying-and-a-surprise/10910/1 "2026-09-23T08:38:41Z")

</div>

FUN extends LET with first-class functions. It proceeds to use currying and partial application to support multi-argument functions but then hits a historically interesting stumbling block.

> **[FUN: First-Class Functions, Currying, and a Surprise | Tiny Interpreters](https://blog.tinyinterpreters.dev/posts/fun-first-class-functions/)**
>
> Extend LET with first-class functions, then use currying and partial application to uncover an unexpected consequence of how function calls are evaluated.
