module Hat.Data.List (gelemIndex,aelemIndex,helemIndex,gelemIndices,aelemIndices,helemIndices,gfind ,afind,hfind,gfindIndex,afindIndex,hfindIndex,gfindIndices,afindIndices ,hfindIndices,gnub,gnubBy,anubBy,hnubBy,gdelete,gdeleteBy,adeleteBy ,hdeleteBy,(!\\),gdeleteFirstsBy,adeleteFirstsBy,hdeleteFirstsBy,gunion ,gunionBy,aunionBy,hunionBy,gintersect,gintersectBy,aintersectBy ,hintersectBy,gintersperse,aintersperse,hintersperse,gtranspose,atranspose ,htranspose,gpartition,apartition,hpartition,ggroup,ggroupBy,agroupBy ,hgroupBy,ginits,ainits,hinits,gtails,atails,htails,gisPrefixOf,aisPrefixOf ,hisPrefixOf,gisSuffixOf,aisSuffixOf,hisSuffixOf,gmapAccumL,amapAccumL ,hmapAccumL,gmapAccumR,amapAccumR,hmapAccumR,gsort,gsortBy,asortBy,hsortBy ,ginsert,ginsertBy,ainsertBy,hinsertBy,gmaximumBy,amaximumBy,hmaximumBy ,gminimumBy,aminimumBy,hminimumBy,ggenericLength,agenericLength ,hgenericLength,ggenericTake,agenericTake,hgenericTake,ggenericDrop ,agenericDrop,hgenericDrop,ggenericSplitAt,agenericSplitAt,hgenericSplitAt ,ggenericIndex,agenericIndex,hgenericIndex,ggenericReplicate ,agenericReplicate,hgenericReplicate,gunfoldr,aunfoldr,hunfoldr,gzip4,gzip5 ,gzip6,gzip7,gzipWith4,azipWith4,hzipWith4,gzipWith5,azipWith5,hzipWith5 ,gzipWith6,azipWith6,hzipWith6,gzipWith7,azipWith7,hzipWith7,gunzip4,gunzip5 ,gunzip6,gunzip7,gmap,amap,hmap,(!++),(+++),(*++),gconcat,aconcat,hconcat ,gfilter,afilter,hfilter,ghead,ahead,hhead,glast,alast,hlast,gtail,atail ,htail,ginit,ainit,hinit,gnull,anull,hnull,glength,alength,hlength,(!!!) ,(+!!),(*!!),gfoldl,afoldl,hfoldl,gfoldl',afoldl',hfoldl',gfoldl1,afoldl1 ,hfoldl1,gscanl,ascanl,hscanl,gscanl1,ascanl1,hscanl1,gfoldr,afoldr,hfoldr ,gfoldr1,afoldr1,hfoldr1,gscanr,ascanr,hscanr,gscanr1,ascanr1,hscanr1 ,giterate,aiterate,hiterate,grepeat,arepeat,hrepeat,greplicate,areplicate ,hreplicate,gcycle,acycle,hcycle,gtake,atake,htake,gdrop,adrop,hdrop ,gsplitAt,asplitAt,hsplitAt,gtakeWhile,atakeWhile,htakeWhile,gdropWhile ,adropWhile,hdropWhile,gspan,aspan,hspan,gbreak,abreak,hbreak,glines,alines ,hlines,gwords,awords,hwords,gunlines,gunwords,aunwords,hunwords,greverse ,gand,gor,gany,aany,hany,gall,aall,hall,gelem,aelem,helem,gnotElem,anotElem ,hnotElem,glookup,alookup,hlookup,gsum,gproduct,gmaximum,amaximum,hmaximum ,gminimum,aminimum,hminimum,gconcatMap,aconcatMap,hconcatMap,gzip,gzip3 ,gzipWith,azipWith,hzipWith,gzipWith3,azipWith3,hzipWith3,gunzip ,gunzip3) where import qualified Hat.PreludeBasic import qualified Prelude import Hat.Hack import qualified Hat.Hat as T import Hat.Hat (WrapVal(wrapVal)) import Hat.Prelude import Hat.List gfoldl' :: T.RefSrcPos -> T.RefExp -> T.R (T.Fun (T.Fun a (T.Fun b a)) (T.Fun a (T.Fun (T.List b) a))) hfoldl' :: (T.R (T.Fun a (T.Fun b a))) -> (T.R a) -> (T.R (T.List b)) -> T.RefExp -> T.R a gfoldl' pfoldl' p = T.ufun3 afoldl' pfoldl' p hfoldl' hfoldl' ff fa (T.R T.List _) p = T.projection T.mkNoSrcPos p fa hfoldl' ff fa (T.R (T.Cons fx fxs) _) p = let ga' pa' p = T.uconstUse pa' p sa' sa' = T.uconstDef p a124v25v124v34a' (\ p -> T.uap2 T.mkNoSrcPos p ff fa fx) in (T.uwrapForward p (hseq (ga' T.mkNoSrcPos p) (T.uwrapForward p (hfoldl' ff (ga' T.mkNoSrcPos p) fxs p)) p)) hfoldl' _ _ _ p = T.fatal p tData_List = T.mkModule "Data.List" "Data/List.hs" Prelude.False afoldl' = T.mkVariable tData_List 1230001 1240061 3 3 "foldl'" Prelude.False a124v25v124v34a' = T.mkVariable tData_List 1240025 1240034 3 0 "a'" Prelude.True