Skip to content

QualifiedStrings (#26503)

Brandon Chinn requested to merge wip/T26503 into master

Implements the new -XQualifiedString extension. Adds new HsQualLit/QualLitPat constructors in HsExpr/HsPat, respectively, for qualified strings and other potential qualified literals. During the renamer phase, these constructors get expanded to M.fromString "string literal" and ((M.fromString "string literal" ==) -> True), so typechecking should proceed as normal.

While working on this MR, I had to make some updates to the underlying proposal: https://github.com/ghc-proposals/ghc-proposals/pull/742

  • if your MR touches base (or touches parts of ghc-internal used or re-exported by base) more substantially than just amending comments or documentation, you likely need to raise a CLC proposal before merging it.
  • if your MR may break existing programs (e.g. causes the compiler to reject programs), please describe the expected breakage and add the user-facing label. This will run ghc/head.hackage> to characterise the effect of your change on Hackage.
  • ensure that your commits are either individually buildable or squashed
  • ensure that your commit messages describe what they do (referring to tickets using #NNNN syntax when appropriate)
  • have added source comments describing your change. For larger changes you likely should add a Note and cross-reference it from the relevant places.
  • add a testcase to the testsuite.
  • updates the users guide if applicable
  • mentions new features in the release notes for the next release
Edited by Brandon Chinn

Merge request reports

Loading