1module Language.PureScript.Label (Label(..)) where 2 3import Prelude.Compat hiding (lex) 4import GHC.Generics (Generic) 5import Codec.Serialise (Serialise) 6import Control.DeepSeq (NFData) 7import Data.Monoid () 8import Data.String (IsString(..)) 9import qualified Data.Aeson as A 10 11import Language.PureScript.PSString (PSString) 12 13-- | 14-- Labels are used as record keys and row entry names. Labels newtype PSString 15-- because records are indexable by PureScript strings at runtime. 16-- 17newtype Label = Label { runLabel :: PSString } 18 deriving (Show, Eq, Ord, IsString, Semigroup, Monoid, A.ToJSON, A.FromJSON, Generic) 19 20instance NFData Label 21instance Serialise Label 22