packages feed

inflections-0.1.0.7: Text/Inflections/Parse/Acronym.hs

{-# LANGUAGE FlexibleContexts, NoMonomorphismRestriction #-}

module Text.Inflections.Parse.Acronym ( acronym ) where

import qualified Text.ParserCombinators.Parsec.Char as C
import qualified Text.Parsec as P
import qualified Text.Parsec.Prim as Prim

import Text.Inflections.Parse.Types

import Control.Applicative ((<$>))

acronym :: P.Stream s m Char => [String] -> P.ParsecT s u m Word
acronym as = Acronym <$> P.choice (map (Prim.try . C.string) as)