haskell / haskell/haskell-language-server
Use `ExceptT` instead of `State Bool` in the case-split plugin implementation
- Dominant language
- Haskell
- Stars
- 3k
- Forks
- 455
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 13
Description
This is an implementation detail, but @MangoIV says it _could_ improve performance (I suppose in large ASTs?).
Worst case scenario, we don't lose anything.
As regards readability, I don't know.
Anyway, worth experimenting with this in spare time.
Originally considered during [my GSoC 2026 project](https://gist.github.com/Aster89/69a57c364ec2d0cc89f474cc3d194371#future-work--stretch-goals).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the case-split plugin implementation and its use of State Bool. Compare an ExceptT-based experiment against the existing behavior, then establish whether large-AST performance improves without regressions; the issue does not name files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- devtools
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100