Skip to content
ffaf1 edited this page Jun 9, 2022 · 1 revision

Steps to reimplement cabal check:

  1. improve test suite
    • check how to write tests
    • see which tests are already present
    • read all cabal check issues, see which ones are relevant, write tests for those
    • write missing tests
    • new tests should be fail/ignore
    • check also on which package they go under (Cabal? cabal?)
    • this can be multiple patches, easy to review
  2. shift from accessor to pattern matching
    • this requires no type changes but might be a tad controversial (PackageDescription is big, some convenience will be lost)
  3. write the traversing function
    • think about the correct datatype (feedback: Andreas)
      • you probably need a tree + env/state
    • think about how many passes you need
    • write it in chunks
    • unfortunately this will be one big patch no way around it
    • add: measure time/space efficiency?
Clone this wiki locally