Commit Graph

458 Commits

Author SHA1 Message Date
Harendra Kumar
1f9e87a15d Remove .travis.yaml 2021-06-15 17:53:20 +05:30
Harendra Kumar
6194cc1c1e Update and refactor
* Use cabal build for 8.8.4 to avoid stack extra-deps
* Use latest stack nightly for 8.10.4
* Remove cabal.project/stack.yaml from the distribution
* Use cabal.project for using test+bench with sdist
* Move sdist build without cabal.project file to circle-ci
* Avoid stack.yaml relinking
2021-06-15 17:53:20 +05:30
Harendra Kumar
a7efa76e76 Update package categories 2021-06-15 01:43:00 +05:30
Harendra Kumar
53aae83e3a Fix links, use link refs kept at one place 2021-06-02 18:12:39 +05:30
Harendra Kumar
4ca4d31fec Reformat and compact the description
Second level bullets are not rendered properly so use a separate
paragraph instead to avoid the issue.
2021-05-29 16:01:08 +05:30
Harendra Kumar
e95e149971 Update description and tested-with 2021-05-23 18:45:49 +05:30
Harendra Kumar
df676c6603 Move old README to docs/Overview.md 2021-05-23 17:10:31 +05:30
Harendra Kumar
6132eb3acb Split stdio ops into a Console.Stdio module
Change the FileSystem.Handle from* APIs to put*

Mutable write APIs would use a "put" prefix to make the name more intuitive.
2021-04-25 15:53:38 +05:30
Harendra Kumar
5614d99cad Expose the Fold.Tee module for general use 2021-04-25 15:40:23 +05:30
Harendra Kumar
206e353659 Add array streams folds 2021-04-20 17:14:54 +05:30
Adithya Kumar
cd916f54bb Move array stream bench/tests to separate modules 2021-04-19 19:38:14 +05:30
Harendra Kumar
59de28719d Update intro in cabal file 2021-04-03 16:02:24 +05:30
Harendra Kumar
8be2c1c484 Split IsStream.Nesting into Expand and Reduce 2021-03-19 01:22:52 +05:30
Ranjeet Kumar Ranjan
87ebad51cb Rename Types.hs modules to Type.hs 2021-03-11 15:12:08 +05:30
Harendra Kumar
ca29fd279e Make it build for GHC-9.0 2021-03-04 18:25:45 +05:30
Harendra Kumar
3dc1e2c939 Make custom-setup depend on Cabal library
We need at least version 2.2.
2021-02-23 18:35:56 +05:30
Pranay Sashank
c88b23e119 Add doctests test suite. 2021-02-22 19:22:53 +05:30
Harendra Kumar
2a7e3ccdbc Rename the resumable Unfold type to Producer 2021-02-21 01:58:20 +05:30
Harendra Kumar
22c83f40fd Add resumable unfolds for efficient nested parsing
Instead of using a closed loop we can stop an unfold and then resume it
later. This allows us to break the loop and restart it at some other
point. For example, we can parse a block from an input stream from a
file handle or a socket and then return the socket/handle plus nay
buffered data (due to backtracking) so that we can resume reading from
it later on after doing some processing.
2021-02-21 01:58:20 +05:30
Harendra Kumar
1a51cab61a Add a script to run CIs locally using nix/packcheck 2021-02-18 18:18:35 +05:30
Harendra Kumar
d0cb8fce84 Add sampling/set/join operations 2021-02-17 16:32:30 +05:30
Harendra Kumar
d2d0e16d53 Add a ghc wrapper to invoke ghc on individual files
With all the extensions used in streamly, optimization options and
ddump-simpl options.

This is useful for compiling standalone files, when inspecting core for
perf issues.  I wish cabal could invoke ghc with environment from the
cabal file. Can it?
2021-02-15 15:41:05 +05:30
Harendra Kumar
3b37295b29 Move Time/System.hs to Time/Clock/Type.hs 2021-02-08 23:40:35 +05:30
Harendra Kumar
62514f27c1 Factor out the async clock related code 2021-02-08 23:40:35 +05:30
Harendra Kumar
2a522a176e Move "Clock.hsc" to "System.hsc"
The Clock module will host higher level functionality built on lower
level system clock.
2021-02-08 23:40:35 +05:30
Pranay Sashank
ed030cc134 Rename some modules.
- Streamly.Internal.Memory.ArrayStream =>
  Streamly.Internal.Data.Array.Stream.Foreign
- Streamly.Memory.Ring =>
  Streamly.Internal.Ring.Foreign
- Streamly.FileSystem.IOVec =>
  Streamly.Internal.FileSystem.IOVec
- Streamly.FileSystem.FDIO =>
  Streamly.Internal.FileSystem.FDIO
- Streamly.FileSystem.FD =>
  Streamly.Internal.FileSystem.FD

Closes #873.
2021-02-01 21:39:22 +05:30
Pranay Sashank
5c018c7e45 Rename Data.Array.Storable.Foreign to Data.Array.Foreign.
Closes #854.
2021-02-01 21:31:06 +05:30
Harendra Kumar
f448fb5643 Refactor array modules (factor out array stream)
There is no functional change in this commit, only refactoring.

* Update module documentation for arrays
* Rearrange and re-group related functions together
* Ability to use fold/unfold/foldMany/chunksOf in low level array
  modules so that we are able to express some of the functions more
  idiomatically. We have not done that in this change but with this
  change we should be able to do it later.
* Separate out the array stream code from lower level modules to the
  higher level array stream module.
2021-01-28 01:19:44 +05:30
Harendra Kumar
6551e49690 Remove dependency of Array module on Data.Fold
Make it depend on low level Fold.Types instead.
2021-01-27 19:11:29 +05:30
Harendra Kumar
02e22d4d25 Factor out IOFinalizer module
From StreamD/Exception module. This is a common functionality used in
Stream as well as in Unfold and can be used generally.
2021-01-25 14:50:06 +05:30
Adithya Kumar
bbfe463f0a Add Streamly.Internal.Data.Fold.Tee 2021-01-23 23:00:16 +05:30
Harendra Kumar
b10f17c4f8 Import from as low level modules as possible 2021-01-21 03:40:42 +05:30
Harendra Kumar
2afffa8d12 Rearrange modules in groups and dependency order 2021-01-18 12:48:35 +05:30
Harendra Kumar
7b2b463665 Move rate/conc control to IsStream/Transform 2021-01-18 12:48:35 +05:30
Harendra Kumar
0fd1eb1aec Move Stream/Enumeration under Stream/IsStream 2021-01-18 12:48:35 +05:30
Harendra Kumar
b164f68829 Create an IsStream/Types module for stream types 2021-01-18 12:48:35 +05:30
Harendra Kumar
0979eeb6b6 Add .ghci to use -fobject-code option 2021-01-18 12:48:35 +05:30
Ranjeet Kumar Ranjan
6aa0483c53 Remove conditional ghcjs build 2021-01-12 15:39:50 +05:30
Harendra Kumar
e7ebd59080 Refactor and cleanup IsStream and StreamD
This commit has no functionality changes whatsoever. It is a pure
reorganization of existing code. Not a single line in any function
should have changed.

* Push down all functions from IsStream.hs to a common module below
* Each submodule is now complete in itself i.e. exports all functions
  that belong to that module.
* A few functions had to be moved around to classify them in the right
  modules. Each submodule has a crisp definition.
* Further break down "Transform" module to create Nesting/Lift modules
  under IsStream
* Create "Lift" module under StreamD as well, both IsStream and StreamD
  have the same structure now.
* Rearrange exports to properly organize them in clearly defined
  categories.
* Rearrange functions to reflect the export order or to bring them close
  to other similar functions.
2021-01-08 02:12:47 +05:30
Pranay Sashank
1475360280 Rename Exceptions modules to Exception. 2021-01-08 02:05:37 +05:30
Pranay Sashank
30a474b8b6 Merge SplitGroup and Combine modules to create StreamD.Nesting. 2021-01-08 02:05:37 +05:30
Pranay Sashank
5551242009 Rename Flatten module to Combine.
- Zipping & merging ops are moved from StreamD.Transform to
  StreamD.Combine module.
2021-01-08 02:05:37 +05:30
Pranay Sashank
c339342a3d Merge StreamD.Common and StreamD.Type modules. 2021-01-08 02:05:37 +05:30
Pranay Sashank
5a1efe48e9 Move StreamD's transform ops to StreamD.Transform. 2021-01-08 02:05:37 +05:30
Pranay Sashank
d0d4850ad6 Refactor StreamD's exception ops to StreamD.Exceptions.
- Move nilM to Generate.
2021-01-08 02:05:37 +05:30
Pranay Sashank
ab5648cb15 Moved nested StreamD ops to StreamD.Flatten. 2021-01-08 02:05:37 +05:30
Pranay Sashank
a4e3ddb6fd Refactor StreamD's elimination ops to StreamD.Eliminate.
- Add StreamD.Common module for functions that should technically
  be in one of the StreamD's sub modules, but can't be because we have
  to use it in other sub modules
2021-01-08 02:05:37 +05:30
Pranay Sashank
50929ccfbd Refactor StreamD's splitting & grouping ops to SplitGroup module. 2021-01-08 02:05:37 +05:30
Pranay Sashank
cf8311d9bd Refactor stream generating functions to StreamD.Generate. 2021-01-08 02:05:37 +05:30
Pranay Sashank
3e53339d50 Break IsStream module into smaller modules.
- IsStream.Generate
- IsStream.Eliminate
- IsStream.Transform
- IsStream.Exceptions
2021-01-08 02:05:37 +05:30