From 72a7aaa39e7552970f466e712e1f7ef91aeb03c8 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Thu, 10 Jun 2021 08:14:16 -0400 Subject: Upgrade to nixos-21.05 Getting me closer to the latest GHC. This release also includes my own packages that I submitted some time ago. GHCJS is not present in 21.05 for some reason, but I think it's back in master, so I might do another upgrade soon, but for now I just disabled my GHCJS support. I'm not really using it anyway. I also had to bring it string-quote, update nixos-mailserver, and a few other things. --- Data/String/Quote.hs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Data/String/Quote.hs (limited to 'Data/String') diff --git a/Data/String/Quote.hs b/Data/String/Quote.hs new file mode 100644 index 0000000..7efe692 --- /dev/null +++ b/Data/String/Quote.hs @@ -0,0 +1,37 @@ +{-# LANGUAGE TemplateHaskell #-} + +-- | QuasiQuoter for non-interpolated strings, texts and bytestrings. +-- +-- Originally by Audrey Tang +-- +-- The "s" quoter contains a multi-line string with no interpolation at all: +-- +-- @ +-- {-\# LANGUAGE QuasiQuotes #-} +-- import Data.Text (Text) +-- import Data.String.Quote +-- foo :: Text -- "String", "ByteString" etc also works +-- foo = [s| +-- +-- Well here is a +-- multi-line string! +-- +-- |] +-- @ +-- +-- Any instance of the IsString type is permitted. +module Data.String.Quote (s) where + +import Alpha +import GHC.Exts (IsString (..)) +import qualified Language.Haskell.TH as TH +import Language.Haskell.TH.Quote + +-- | QuasiQuoter for a non-interpolating IsString literal. The pattern portion is undefined. +s :: QuasiQuoter +s = + QuasiQuoter + ((\a -> [|fromString a|]) <. filter (/= '\r')) + (error "Cannot use q as a pattern") + (error "Cannot use q as a type") + (error "Cannot use q as a dec") -- cgit v1.2.3