Haskell Foundation Technical Task Force (Slot 1) Meeting
10 March 2021
Present:
Emily Pillmore
Michael Snoyman
Ben Gamari
Chris Dornan
Moritz Angermann
Notes from Previous Meeting:
Tech Agenda Track: Meeting Minutes 3/5
We will work in two different groups, given our availability and time zone differences, using Slack for asynchronous coordination.
Goal of track:
strong focus to 3-6 month plans, with industrial adoption being a primary motivation
Action items:
- Moritz and Ben to come up with a proposal around GHC CI architecture
- Michael: Build proposal for creating an md-book style approach for profiling documentation. Decide on initial scope of documentation
Proposal at: https://docs.google.com/document/d/1n6lQKSU6t6dd6FAIhxjdNtHfWfEYFSYWasgLvaf0dhc/edit?usp=sharing - Create a proposal around a GHC performance dashboard. (Needs an owner.)
- Reopen GHC release cadence discussion
Discussion:
GHC CI:
-
Moritz: Items that we can get done in the time frame are:
- profiling/performance
- Windows MSI
-
Ben:
- Can confirm that this is the case. We’ve done studies. Factor of 2-3x slower.
- On linux this hasn’t been a problem. Hardware is fine
- This is a windows specific issue.
-
Michael:
- What you’re saying is “We have the right to turn away contributions that don’t actually help us.”
I suggest: Moritz and Ben come up with a proposal for what they want, and then we present to the board (or other companies) for funding approval.
- What you’re saying is “We have the right to turn away contributions that don’t actually help us.”
Profiling:
-
Emily:
- Nobody knows what the preferred tools are
- Document best practices
- Examples: Hp2pretty, eventlog2html, Threadscope, ghc-debug, Criterion, weigh, interpreting runtime statistics, IPE profiling
-
Michael:
- A curated, HF-sponsored book where we pay someone to keep it up to date that can serve as a repository of knowledge for these.
- Community needs leadership on a centralized effort and some guarantees of maintenance.
-
Ben
- A book is a great idea. Hecate, for example, is great at maintaining and coordinating documentation.
What is the scope of the project?
- A book is a great idea. Hecate, for example, is great at maintaining and coordinating documentation.
-
Emily
- Fine to start small, can increase later
GHC State of the Compilation
-
Michael: https://arewefastyet.rs/
-
Ben
- Let’s create a dashboard for this
- We have tools that do guage this information, but we are bad at looking at it and creating nice data visualizations. There’s no nice way of consuming the reports.
-
Emily
- This requires us to figure out what the set of “critical” libraries is
- PostgREST can post this information to a dashboard
Michael
- Stackage could make sure everything builds as a kind of community build system
- We don’t currently do this for anything but GHC releases, but we could do this for GHC Head
- Having spent years in the Rust world, they are great about not breaking userspace
- How do we break users less? Address template-haskell, base, ghc breakage. Reduce release cadence?
Text-utf8
Not enough time to get to this one, but there are strong positives and negatives regarding Backpack, and we’ll sidebar to a dedicated slack channel to discuss those thoughts.