
I originally made this suggestion on GitLab, but I was told to make it here instead. https://gitlab.haskell.org/ghc/ghc/issues/17042 --- # Add list singleton function ## Motivation Sometimes it is convenient to have a function to wrap an element in a list. There are many ways to do this already, but none of them are as clear as a separate monomorphic function. - `pure`: Polymorphic, works for any `Functor`. - `pure @[]`: Noisy, requires `-XTypeApplications`. - `(: [])`: Subjectively ugly. - `(\x -> [x])`: Syntactically noisy. This Twitter thread includes some additional commentary: https://twitter.com/taylorfausak/status/1159264862247280640 ## Proposal I would like to add a `singleton` function to `Data.List` that mirrors the `singleton` function for other containers: https://www.stackage.org/lts-14.0/hoogle?q=singleton ``` hs singleton :: a -> [a] singleton x = [x] ``` Other Haskell-like languages include this function: - PureScript: https://pursuit.purescript.org/packages/purescript-lists/5.4.0/docs/Data.Lis... - Elm: https://package.elm-lang.org/packages/elm/core/latest/List#singleton