@@ -174,8 +174,6 @@ module Streamly.Prelude
174174 -- ** Right Folds
175175 -- $rightfolds
176176 , foldrM
177− -- , foldrS
178− -- , foldrT
179177 , foldr
180178
181179 -- ** Left Folds
@@ -199,7 +197,6 @@ module Streamly.Prelude
199197 , length
200198 , sum
201199 , product
202− --, mconcat
203200
204201 -- -- ** To Summary (Maybe) (Full Folds)
205202 -- -- | Folds that summarize a non-empty stream to a 'Just' value and return
@@ -209,7 +206,6 @@ module Streamly.Prelude
209206 , minimumBy
210207 , minimum
211208 , the
212− -- , toListRev -- experimental
213209
214210 -- ** Lazy Folds
215211 --
@@ -252,19 +248,13 @@ module Streamly.Prelude
252248 , eqBy
253249 , cmpBy
254250 , isPrefixOf
255− -- , isSuffixOf
256− -- , isInfixOf
257251 , isSubsequenceOf
258252
259253 -- trimming sequences
260254 , stripPrefix
261− -- , stripSuffix
262− -- , stripInfix
263255
264256 -- * Transformation
265257
266− --, transform
267−
268258 -- ** Mapping
269259 -- | In imperative terms a map operation can be considered as a loop over
270260 -- the stream that transforms the stream into another stream by performing
@@ -343,8 +333,6 @@ module Streamly.Prelude
343333 , scanlM'
344334 , postscanl'
345335 , postscanlM'
346− -- , prescanl'
347− -- , prescanlM'
348336 , scanl1'
349337 , scanl1M'
350338
@@ -352,16 +340,6 @@ module Streamly.Prelude
352340 , scan
353341 , postscan
354342
355− -- , lscanl'
356− -- , lscanlM'
357− -- , lscanl1'
358− -- , lscanl1M'
359− --
360− -- , lpostscanl'
361− -- , lpostscanlM'
362− -- , lprescanl'
363− -- , lprescanlM'
364−
365343 -- ** Filtering
366344 -- | Remove some elements from the stream based on a predicate. In
367345 -- imperative terms a filter over a stream corresponds to a loop with a
@@ -380,9 +358,6 @@ module Streamly.Prelude
380358 -- | Deleting elements is a special case of de-interleaving streams.
381359 , deleteBy
382360 , uniq
383− -- , uniqBy -- by predicate e.g. to remove duplicate "/" in a path
384− -- , uniqOn -- to remove duplicate sequences
385− -- , pruneBy -- dropAround + uniqBy - like words
386361
387362 -- ** Inserting Elements
388363 -- | Inserting elements is a special case of interleaving/merging streams.
@@ -390,73 +365,27 @@ module Streamly.Prelude
390365 , insertBy
391366 , intersperseM
392367 , intersperse
393− -- , insertAfterEach
394− -- , intersperseBySpan
395− -- , intersperseByIndices -- using an index function/stream
396− -- , intersperseByTime
397− -- , intersperseByEvent
398−
399− -- -- * Inserting Streams in Streams
400− -- , interposeBy
401− -- , intercalate
402368
403369 -- ** Indexing
404370 -- | Indexing can be considered as a special type of zipping where we zip a
405371 -- stream with an index stream.
406372 , indexed
407373 , indexedR
408− -- , timestamped
409− -- , timestampedR -- timer
410374
411375 -- ** Reordering Elements
412376 , reverse
413− -- , reverse'
414377
415378 -- ** Trimming
416379 -- | Take or remove elements from one or both ends of a stream.
417380 , take
418− -- , takeEnd
419381 , takeWhile
420382 , takeWhileM
421− -- , takeWhileEnd
422383 , drop
423− -- , dropEnd
424384 , dropWhile
425385 , dropWhileM
426− -- , dropWhileEnd
427− -- , dropAround
428386
429387 -- -- ** Breaking
430388
431− -- By chunks
432− -- , splitAt -- spanN
433− -- , splitIn -- sessionN
434−
435− -- By elements
436− -- , span -- spanWhile
437− -- , break -- breakBefore
438− -- , breakAfter
439− -- , breakOn
440− -- , breakAround
441− -- , spanBy
442− -- , spanByRolling
443−
444− -- By sequences
445− -- breakOnSeq/breakOnArray -- on a fixed sequence
446− -- breakOnStream -- on a stream
447−
448− -- ** Slicing
449− -- | Streams can be sliced into segments in space or in time. We use the
450− -- term @chunk@ to refer to a spatial length of the stream (spatial window)
451− -- and the term @session@ to refer to a length in time (time window).
452−
453− -- In imperative terms, grouped folding can be considered as a nested loop
454− -- where we loop over the stream to group elements and then loop over
455− -- individual groups to fold them to a single value that is yielded in the
456− -- output stream.
457−
458− -- , groupScan
459−
460389 , chunksOf
461390 , intervalsOf
462391
@@ -468,15 +397,6 @@ module Streamly.Prelude
468397 , findIndices
469398 , elemIndices
470399
471− -- -- *** Searching Sequences
472− -- , seqIndices -- search a sequence in the stream
473−
474− -- -- *** Searching Multiple Sequences
475− -- , seqIndices -- search a sequence in the stream
476−
477− -- -- ** Searching Streams
478− -- -- | Finding a stream within another stream.
479−
480400 -- ** Splitting
481401 -- | In general we can express splitting in terms of parser combinators.
482402 -- These are some common use functions for convenience and efficiency.
@@ -502,32 +422,10 @@ module Streamly.Prelude
502422 -- -- ** Splitting By Elements
503423 , splitOn
504424 , splitOnSuffix
505− -- , splitOnPrefix
506425
507− -- , splitBy
508426 , splitWithSuffix
509− -- , splitByPrefix
510427 , wordsBy -- strip, compact and split
511428
512− -- -- *** Splitting By Sequences
513− -- , splitOnSeq
514− -- , splitOnSuffixSeq
515− -- , splitOnPrefixSeq
516−
517− -- Keeping the delimiters
518− -- , splitBySeq
519− -- , splitBySeqSuffix
520− -- , splitBySeqPrefix
521− -- , wordsBySeq
522−
523− -- Splitting By Multiple Sequences
524− -- , splitOnAnySeq
525− -- , splitOnAnySuffixSeq
526− -- , splitOnAnyPrefixSeq
527−
528− -- -- ** Splitting By Streams
529− -- -- | Splitting a stream using another stream as separator.
530−
531429 -- ** Grouping
532430 -- | Splitting a stream by combining multiple contiguous elements into
533431 -- groups using some criterion.
@@ -535,40 +433,6 @@ module Streamly.Prelude
535433 , groupsBy
536434 , groupsByRolling
537435
538− {-
539− -- * Windowed Classification
540− -- | Split the stream into windows or chunks in space or time. Each window
541− -- can be associated with a key, all events associated with a particular
542− -- key in the window can be folded to a single result. The stream is split
543− -- into windows of specified size, the window can be terminated early if
544− -- the closing flag is specified in the input stream.
545− --
546− -- The term "chunk" is used for a space window and the term "session" is
547− -- used for a time window.
548−
549− -- ** Tumbling Windows
550− -- | A new window starts after the previous window is finished.
551− -- , classifyChunksOf
552− -- , classifySessionsOf
553−
554− -- ** Keep Alive Windows
555− -- | The window size is extended if an event arrives within the specified
556− -- window size. This can represent sessions with idle or inactive timeout.
557− -- , classifyKeepAliveChunks
558− -- , classifyKeepAliveSessions
559−
560− {-
561− -- ** Sliding Windows
562− -- | A new window starts after the specified slide from the previous
563− -- window. Therefore windows can overlap.
564− , classifySlidingChunks
565− , classifySlidingSessions
566− -}
567− -- ** Sliding Window Buffers
568− -- , slidingChunkBuffer
569− -- , slidingSessionBuffer
570− -}
571−
572436 -- * Combining Streams
573437 -- | New streams can be constructed by appending, merging or zipping
574438 -- existing streams.
@@ -660,9 +524,7 @@ module Streamly.Prelude
660524 -- > filter p m = S.concatMap (\x -> if p x then S.yield x else S.nil) m
661525 --
662526
663− -- XXX add stateful concatMapWith
664527 , concatMapWith
665− --, bindWith
666528 , concatMap
667529 , concatMapM
668530 , concatUnfold