--1 Text: Texts -- Texts are built from an empty text by adding $Phr$ases, -- using as constructors the punctuation marks ".", "?", and "!". -- Any punctuation mark can be attached to any kind of phrase. abstract Text = Common ** { fun TEmpty : Text ; -- [empty text, no sentences] TFullStop : Phr -> Text -> Text ; -- John walks. ... TQuestMark : Phr -> Text -> Text ; -- Are they here? ... TExclMark : Phr -> Text -> Text ; -- Let's go! ... }