never executed always true always false
1 module HelVM.HelIO.ListLike.ListLikeMay where
2
3 import HelVM.HelIO.Extra
4
5 import Data.ListLike
6
7 import Prelude hiding (break, divMod, drop, fromList, init, last, length, null, splitAt, swap, toList, uncons)
8
9 uncons2 :: ListLike full item => full -> Maybe (item, item, full)
10 uncons2 = uncons2' <=< uncons where
11 uncons2' (e , l') = uncons2'' <$> uncons l' where
12 uncons2'' (e' , l'') = (e , e' , l'')
13
14
15 unsnoc :: ListLike full item => full -> Maybe (full, item)
16 unsnoc l = toMaybe (null l) (init l , last l)