Tech Agenda Track: Meeting Minutes 3/5

Haskell Foundation Technical Task Force (Slot 2) Meeting
5 March 2021

Present:

Emily Pillmore
Andrew Boardman
Chris Dornan
Richard Eisenberg
Andrew Lelechenko
Ben Gamari
Théophile Choutri
Davean Scies


Notes from Previous Meeting:

https://discourse.haskell.org/t/tech-agenda-track-meeting-minutes-2-26/1975/2


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

Discussion:

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.

Libraries.

  • Keeping our official recommendations to a minimum, just point cabal+ghcup and stack
  • Maybe piggy-back on the hackage curation?

Windows installer.

  • 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.

GHC CI.

  • 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

GHC Compilation.

  • 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.

Core libraries/base

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.
6 Likes

Blessed editor + lsp server combination.
VS Code + HLS seems to be the most sensible way nowadays for beginners

Sorry to be pedantic, but I think blessing a proprietary editor would be the wrong choice. Basic Haskell tooling has always been FOSS, (for good reasons which I won’t reiterate here), and it’d be sad to set a precedent of recommending non-free tools.

VS Code’s marketing is quite deceptive in this sense: it looks like you’ll be using freedom-respecting software (quoting from their website, «Free and built on open source») when in fact you won’t. Or at least it was for me: I fell for it until my distro notified me that I was about to install an non-free program.

If we want to stay in the VSCode family of editors, a more ethical recommendation could be VSCodium.

8 Likes

@fgaz The wording was indeed unfortunate. Our idea was to put VS Code + HLS as a first-class choice, rather than the first-class choice.

1 Like

Agree, In my opinion VSCodium should be at least mentioned in docs, close to VSCode
We dont have automated the publish though, see: https://github.com/haskell/vscode-haskell/issues/250
It is almost done, blocked in setting the secret key in the repo, afaik.

3 Likes

@fgaz Thanks for raising that point, and I think @Kleidukos added the necessary clarification. I agree with them: VSCode is not the but rather, a solution.

@jneira Yes, we’ll mention it close by anything we say with respect to VSCode.

1 Like