
Hello Pietro, Il 08 dicembre 2020 alle 16:23 Pietro Grandinetti ha scritto:
Hi,
Playing around with code (very few lines) that represents long-form articles. I'd like to understand: 1- if the usage of `type' is correct, or if I should prefer `newtype', or something different altogheter.
Your usage of `type` is correct. The idea is that you start with type and can easily switch to newtype if the need arises (typeclass reasons, etc.).
2- what's the more idiomatic way to do the boxing and unboxing of renamed types? See last 2 functions in the code.
[…]
import Data.Time (Day) import Data.List (intercalate) import Data.List.Split (splitOn)
type Sentence = String type Paragraph = [Sentence] type Content = [Paragraph]
unboxPar :: Paragraph -> String unboxPar = intercalate ". "
unboxContent :: Content -> String unboxContent x = intercalate "\n\n" $ map unboxPar x
unboxPar and unboxContent are fine, I would personally name them slightly differently (`renderPar` and `renderContent`). —F