|
| 1 | +# TWG 2023-09-15 |
| 2 | + |
| 3 | +[Prior notes](https://github.com/haskellfoundation/tech-proposals/blob/main/meetings/2023-08-11.md) |
| 4 | + |
| 5 | +## Present |
| 6 | + |
| 7 | + * Hécate |
| 8 | + * John |
| 9 | + * Noon |
| 10 | + * Laurent |
| 11 | + * Jack |
| 12 | + * David |
| 13 | + |
| 14 | +## Goodbye from David |
| 15 | + |
| 16 | + - Open issues to be resolved? |
| 17 | + - Status of committee during transition? |
| 18 | + - Meetings will continue between EDs. David will email board and invite them to select a representative to attend; funding requests will be sent to Richard |
| 19 | + - Laurent is volunteer secretary - will create notes document |
| 20 | + |
| 21 | +## Module naming convention proposal |
| 22 | +https://github.com/haskellfoundation/tech-proposals/pull/53 |
| 23 | + |
| 24 | + - Unanimously approved |
| 25 | + |
| 26 | +## Parser proposal |
| 27 | +https://github.com/haskellfoundation/tech-proposals/pull/56 |
| 28 | + |
| 29 | + * John: main motivation is a general commitment to modularity. But not everyone shares these values, and the proposal needs an argument for these people! Today, the most common way to parse Haskell code is `ghc-lib`, which is a giant kludge and hard to maintain. It woudl be nice to fix this. Today, it's also mostly impossible to depend on a newer GHC API to write a tool that can be built on older ones. |
| 30 | + * Richard was convinced on the thread, confirmed this in personal conversation |
| 31 | + * Simon less convinced thus far, but discussions are ongoing |
| 32 | + * Laurent: Name is on proposal, but John did the work. Initially supported this because he wanted to use it for the Haddock refactor. But many people want to use other parts of GHC - e.g. name resolution - and these will still need to depend on GHC. As the proposal is written right now, it wouldn't solve this or a number of other projects. Has no input as to whether it will help other projects - not a user of hlint, let alone an expert. |
| 33 | + * John: Either this is not enough or it's overkill. The ghc-lib parser is used by hlint and other tools, not the rest of GHC, so there is something to use there. The ghc-lib parser has more modules than we'd like (e.g. C-- is included - see https://hackage.haskell.org/package/ghc-lib-parser). But we think we can reduce this without throwing the baby out with the bathwater. We do have some prior art other than Haddock. |
| 34 | + * Noon: Reading the proposal - money is needed to finish Trees that Grow. Who would do it and what would it cost? |
| 35 | + * John: There's a time estimate to do the splitting of the AST, but no time estimate for the parser part because it's still buried behind the AST part. Assumed it could be done in two separately funded stages, with the AST as a trial run. |
| 36 | + * Noon: You do eventually want to fund the whole thing, right? |
| 37 | + * John: Integration work woudl be volunteer, Shane volunteered for hlint and Laurent would do so with Haddock if the lib were sufficient. |
| 38 | + * David: Is there a use case for an AST without a parser? |
| 39 | + * John: That was the HAddock case - GHC would emit the AST in hi-haddock. |
| 40 | + * David: Since it seems that Haddock may not work, can we do anything else instead? |
| 41 | + * John: No |
| 42 | + * David: What about TH and compiler plugins? |
| 43 | + * John: Plugins likely need the GHC extension points, but TH might be a good one. It was in the paper, but it seems to be too much of a long-term one. Lots of differences between TH AST and GHC. |
| 44 | + * Jack: Was wondering - C-- was in Haddock for a weird reason. Why? |
| 45 | + * John: It was ghc-lib-parser. Shane has a test library that uses the libraries he needs, then he has as script that grabs the import closure of modules that he uses. There's some transitive dependency on C-- that results in its inclusion. |
| 46 | + * David: Remaining stakeholders - developers of Ormolu and Fourmolu. |
| 47 | + * John - agrees |
| 48 | + * David: What is Simon's concern, spoken in person? |
| 49 | + * John: He expressed that having a separation between libraries inside GHC |
| 50 | + * David suspects these concrete things: |
| 51 | + - More recompiling |
| 52 | + - Harder to navigate the codebase |
| 53 | + - Observing workflow, do a taylorism |
| 54 | + - Version bounds? |
| 55 | + - Should be released in lockstep. (John's intent all along, but might not be in the proposal against) |
| 56 | + - Can mention PvP vs lockstop tradeoff |
| 57 | + * What's next |
| 58 | + - Get feedback in the thread |
| 59 | + - Other authors |
| 60 | + - Simon, Ben, Alan, Chris Done |
| 61 | + - Address Simon's points in https://github.com/haskellfoundation/tech-proposals/pull/56#issuecomment-1698713212 |
| 62 | + - No disagreeement on the source spans being part of the parser |
| 63 | + - Thoughts on scope |
| 64 | + * Hecate also looking to the future |
| 65 | + - Want more tools |
| 66 | + - Give a little boost to "stable GHC API stuff" (e.g. thinking about stable parser interface in isolation) |
| 67 | + * Hecate has two others: |
| 68 | + * `refact` / `apply-refact` |
| 69 | + - John would like to better understand the divsion of labor between these two things |
| 70 | + * FB's Haskell rewrite rule project `retrie` (https://github.com/facebookincubator/retrie) |
| 71 | + * Why not just use GHC directly? |
| 72 | + - Ask creators of these tools |
| 73 | + - Rebuild times |
| 74 | + - Reinstallability |
| 75 | + * John will start with involving more tool author stakeholders |
| 76 | + * Add Formulu |
| 77 | + * Noon: If this is really our first funding, then we need more detail on how much it would cost. |
| 78 | + * John: We really need the parser to deliver value, and it's just really, really hard to figure out what that will cost. |
| 79 | + * Noon: To clarify - the question is how much to pay a consultant |
| 80 | + * John: That's right - the cost of the parser is totally unknown - low-information estimate is twice as much as the AST, but this is a big unknown. |
| 81 | + * David: Is there some small thing we can do to get more info? |
| 82 | + * John: Analyzing the import graph is one way |
| 83 | + |
| 84 | +## Other Business |
| 85 | + - Close other proposals for inactivity? |
| 86 | + - Yes |
| 87 | + - Recruiting at ICFP? |
| 88 | + - Gershom not here, ask him next time |
| 89 | + - New ED will be responsible for recruiting |
| 90 | + - Sysadmin help? |
| 91 | + - Waiting for Davean |
0 commit comments