New GHC Extension, -XOverloadedApplication
- Dominant language
- Haskell
- Stars
- 1.3k
- Forks
- 201
- PR merge metrics
- No merged PRs in 30d
Description
Ideally, we could tweak GHC to make a few changes that support CodeWorld's dialect of Haskell:
1. `NoCurriedOperators`: The expression `x + y` should desugar to `(+)(x, y)` instead of `(+) x y`. Operator sections remain unchanged.
2. `ApplicationRequiresParentheses`: Makes it an error to write `f x`, requiring `f(x)` instead. Tuples should not require additional parentheses. Also pretty-prints error messages as `f(x)` instead of `f x` or `f (x)`, and disables the logic that uses phrases like "in the first parameter" in error messages.
Contributor guide
Research direction
Start by investigating GHC's parsing, desugaring, pretty-printing, and error-message handling for the two proposed extensions. Define how each requested behavior should work, including operator sections, tuples, and parameter wording; the issue names no files or tests, so implementation entry points must be identified first.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100