Text(ByteString)をnewtypeした型でもOverloadedStringsできるよ。

GeneralizedNewtypeDeriving拡張を使う。

{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}

import Data.String (IsString)
import Data.Text (Text)

newtype A = A Text deriving (IsString, Show)

a :: A
a = "ahoge"  -- 文字列リテラル of A

main :: IO ()
main = print a

筆者プロフィール

my-latest-logo

aiya000(あいや)

せつラボ 〜圏論の基本〜」 「せつラボ2~雲と天使と関手圏~」 「矢澤にこ先輩といっしょに代数!」を書いています!

強い静的型付けとテストを用いて、バグを防ぐのが好き。Haskell・TypeScript。