Skip to content

Commit 2974287

Browse files
Create 2023-09-15.md
1 parent 28573ae commit 2974287

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

meetings/2023-09-15.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
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

Comments
 (0)