SRFI 197: Expression Chaining Operators

by Adam Nelson

status: draft (2020-06-08)

keywords: Syntax

Abstract

Many functional languages provide chaining or pipeline operators, like Clojure's -> or OCaml's |>. Chaining is a simple, terse, and readable way to write deeply nested expressions. This SRFI defines a family of chain operators, which can rewrite nested expressions like (a b (c d (e f g))) as a sequence of operations: (chain g (e f) (c d) (a b)).