Skip to content

Fix lambda expressions not parenthesized on right side of operators#132

Merged
mdgriffith merged 1 commit intomdgriffith:mainfrom
dillonkearns:fix/pipe-lambda-parenthesization
Mar 31, 2026
Merged

Fix lambda expressions not parenthesized on right side of operators#132
mdgriffith merged 1 commit intomdgriffith:mainfrom
dillonkearns:fix/pipe-lambda-parenthesization

Conversation

@dillonkearns
Copy link
Copy Markdown
Contributor

When a lambda appeared as the right operand of |> or any infix operator, it was rendered without parentheses:

"hello" |> \x -> x

This could cause ambiguous Elm code and compiler errors. The fix adds parens in the pretty-printer when the right operand is a LambdaExpression now:

"hello" |> (\x -> x)

When a lambda appeared as the right operand of |> (or any infix
operator), it was rendered without parentheses:

    "hello" |> \x -> x

This is ambiguous in Elm — a chained `a |> \x -> b |> \y -> c`
parses the second |> as part of the first lambda's body.

The fix adds parenthesization in the pretty-printer
(prettyOperatorApplication in Write.elm) when the right operand
is a LambdaExpression, producing:

    "hello" |> (\x -> x)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mdgriffith mdgriffith merged commit 84c0f33 into mdgriffith:main Mar 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants