mlabs-haskell / mlabs-haskell/lambda-buffers
Parsing Stack Enhancements
Nobody has claimed this yet.
- Dominant language
- Haskell
- Stars
- 32
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
This issue collects some internal discussion regarding possible improvements to the parsing stack.
Slack discussion identified the following tasks (discussion has been summarized):
-
Iterate on syntax in the current parsing stack, so we can settle on something aesthethicaly pleasing for users.
For example:
-
remove sum/records/prod keywords and just rely on RHS to be uniquely parseable
{ record },(prod),| sum |. This would be helpful for the issue identified here -
special unit type syntax,
MaybeInt = Maybe Int(which would now be prodMaybeInt = (Maybe Int)) -
standalone
derivestatements are a bit verbose (rather why not justderive Eq,Json,PlutusData)
-
-
Update the formatter (I think that's basic stuff we need for automated code quality)
- lbf format should be tested with a forall source.
meaningOf lbf format source = meaningOf source,
- lbf format should be tested with a forall source.
-
treesitter grammar to have highlighting and symbol extractions in GH and editors for .lbf. files (improvement of life)
-
Align the parsing stack with something we fund robust and aligned with best practices (whilst making sure our error messages are amazing). Related issue comment
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the current parsing stack and the discussion linked from PR #117. Then inspect the formatter entry point, including the lbf format behavior for forall sources, and the existing .lbf grammar support. Done would require an agreed syntax, formatter preservation tests, tree-sitter highlighting and symbol extraction, and improved error messages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- compilers, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100