Skip to content

Define and migrate to Hindent's own AST. #1029

@toku-sa-n

Description

@toku-sa-n

Quoting from #819

The purpose is to mitigate the burden caused by GHC's version changes. GHC changes the structure of its AST when it's updated, which almost always requires us to modify our pretty-printing functions, including locating CPP blocks, duplicating existing pretty-printing functions, and fixing many compile errors. Also, when we want to change the pretty-printing style, we need to modify multiple CPP blocks for just a change. By creating HIndent's own AST, we can keep up with the latest GHC with less bothersome because we only need to update our AST while we can change the printing style more easily as we don't need CPP pragmas in Pretty instances of our AST types.

I'm creating this issue for visibility and to track the ongoing effort of defining Hindent’s own AST.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions