What does ! mean in record definition before field type?

Viewed 264

Unfortunately I couldn't find any information to the question.

data Person =
  Person { firstName  :: !Text
         , lastName   :: !Text
         , age        :: Int
         , likesPizza :: Bool
           } deriving Show

The code snippet is token from article Parsing JSON with Aeson.

Aside the question in the title, is there a rule when ! should be used? In the example above ! is used only for firstName and lastName.

0 Answers
Related