Skip to content

Commit 5bbd7d2

Browse files
authored
use NonEmptyList for some (#5)
1 parent 5aeb0f2 commit 5bbd7d2

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/Options/Applicative/Types.purs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ import Data.Generic.Rep (class Generic)
5757
import Data.Generic.Rep.Show (genericShow)
5858
import Data.List (List)
5959
import Data.List as List
60+
import Data.List.NonEmpty as NEL
61+
import Data.List.Types (NonEmptyList)
6062
import Data.Maybe (Maybe(..))
6163
import Data.Newtype (class Newtype, over, un)
6264
import Data.Tuple.Nested (Tuple3, (/\))
@@ -370,12 +372,12 @@ manyM p = tailRecM go List.Nil
370372
aa <- oneM $ (Loop <$> p) <|> pure (Done unit)
371373
pure $ bimap (_ List.: acc) (\_ -> List.reverse acc) aa
372374

373-
someM :: forall a. Parser a -> ParserM (List a)
374-
someM p = List.Cons <$> oneM p <*> manyM p
375+
someM :: forall a. Parser a -> ParserM (NonEmptyList a)
376+
someM p = NEL.cons' <$> oneM p <*> manyM p
375377

376378
many :: forall a. Parser a -> Parser (List a)
377379
many = manyM >>> fromM
378-
some :: forall a. Parser a -> Parser (List a)
380+
some :: forall a. Parser a -> Parser (NonEmptyList a)
379381
some = someM >>> fromM
380382

381383
-- | optparse-applicative supplies a rich completion system for bash,

0 commit comments

Comments
 (0)