Haskell Foundation Technical Task Force (Slot 2) Meeting
5 March 2021
Notes from Previous Meeting:
We will work in two different groups, given our availability and time zone differences
Goal of track:
strong focus to 3-6 month plans, with industrial adoption being a primary motivation
Emily: point of order, we’ll be splitting up into two tracks to capture our Eastern Hemisphere colleagues’ ideas. I will be at both of these, and anyone is free to join any of the other slots. This is to keep everyone up to date so that we’re putting anyone in a compromising position with respect to their geography or other needs.
Discussion of establishing the content for a page, to be hosted at haskell.org, about how to start Haskell. Some further notes in the “Short List” document.
Blessed editor + lsp server combination.
VS Code + HLS seems to be the most sensible way nowadays for beginners
We can provide links to alternative tooling and configurations, but we should focus on the beginning IDE experience because power users will know what they want and be able to find it more easily.
- Keeping our official recommendations to a minimum, just point cabal+ghcup and stack
- Maybe piggy-back on the hackage curation?
- Should have just an MSI somewhere.
- Chocolatey is available as an alternate, but is the preferred choice in some situations for tooling, just as important as the MSI.
- Must reach out to Tamar. Perhaps a smaller group to convene to talk about Windows issues, including Tamar.
- SimSpace is helping out with Mac support
- Ben posted (on Discourse?) a detailed proposal of exactly what to do.
- Ben has a master spreadsheet with all the CI support.
- This could be an opportunity for in-kind contributions.
- Offering this if companies cannot contribute funds is a good way to capture both sponsors as well as support GHC
Profiling and performance analysis.
- Matthew Pickering is working on a GHC live monitoring implementation under contract from Hasura.
- tems: Catch up with Matt for the status and identify if there is anything we can do to help. This was originally on the interim Tech agenda, and we may not have much to do with respect to project management here.
- HF could serve a role here aggregating a list of existing profiling tools and putting them all in one bundle.
- Define best practices and bless certain tooling
- Work with people to put out content showing how to use them appropriately
- RTS telemetry how-tos, general benchmarking tutorials etc
It’s not possible to get this done in the specified time frame, however, we can address useful things in this area:
A GHC “State of the Compilation” Report
An eye towards fixing compilation problems in GHC.
A service we can provide for the community:
- A list of tickets, who’s working on what, and how to find them
- Be on top of this and provide a State of the Slow Compilation status.
- Level set expectations and timelines, provide info for fundraising + industry.
Industry and the community can understand what’s needed and either fund these or help us to manage them.
What can we do to push utf-8 text forward for Haskell? Is it doable within the 6 month time frame?
Relevant point: If we use Backpack, we should focus on Backpack first, and then on text.
- Roadmap Backpack first.
- Needs maintainers + clc oversight for Text
- Chessai recently put out a call for new text maintainers
- Backpack in Stack
- Cabal has support for backpack (albeit not entirely complete) (see: https://github.com/haskell/cabal/issues/7290)
- We would like to treat Stack as a first-class tool.
- Contract with someone or provide project scoping?
The “String Situation”
- Backpack strings (after all this time)
- Integrate Text in base to facilitate the transition
- Blessed alternative prelude minus the partiality, and provide a more coherent “batteries-included” experience shipped with GHC.
- Develop criteria for what a good prelude hits.
- Involve existing authors
- Provide a roadmap
- UTF8-backed Text
- A more comprehensive and better documented string conversion story
- There is a GHC issue that is holding us back in general for some Backpack stuff.