haskell / haskell/core-libraries-committee

User-facing interface to -XStringInterpolation

Open
#416 47 comments 0 reactions 0 assignees View on GitHub
awaits-proposal
Dominant language
Haskell
Stars
109
Forks
20
PR merge metrics
No merged PRs in 30d

Description

I have an open GHC proposal for string interpolation here: https://github.com/ghc-proposals/ghc-proposals/pull/570.

A good chunk of the discussion is probably more relevant to CLC, since it relates to the user interface into string interpolation. It can initially live in `ghc-experimental`, but presumably people will start using it quickly, so we should probably get alignment on the design as `base` maintainers who will eventually own the public interface of the feature.

I won't go into too much detail on the proposal, you can view the (long) discussion at the link. Key questions arising for CLC:
* We probably do not want to reuse `Show` for string interpolation. Do we want a general `Display` class, or should we provide an `Interpolate` class specifically for this use-case?
* Should `Interpolate` be hardcoded to output `String` like `Show`, or should it be a multi-param type class to pre-emptively enable interpolating directly to other string types?
* (will add more questions here as they come up in discussion)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked GHC proposal and its discussion, then review the questions about Display versus Interpolate and the result type. The work is done when the CLC agrees on a public interface and records the decision for the initial ghc-experimental implementation and eventual base ownership.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.