Comments (3)
I have no idea what streaming would look like. That doesn't necessarily mean it's a bad idea, just that it's not at all clear (to me) what the design is. Maybe you have something in mind?
from haxl.
Seems like the biggest challenge would be reconciling streaming with caching. Either streaming fetches should not be cached, in which case you only benefit from concurrency, or Haxl needs to somehow provide the guarantee that anything not yet seen by all readers be cached. If the data doesn’t necessarily fit into memory, you never want to cache all of it, but that would seem too easy to do accidentally:
do
(sx, sy) <- liftA2 (,) fetchThings fetchThings
x <- consume sx
-- Here, the entire contents of the shared stream are in
-- the cache because sy hasn’t been consumed.
y <- consume sy
return (x + y)
where
fetchThings :: Haxl (Stream Thing)
consume :: Stream Thing -> Haxl Int
from haxl.
I don't think it's useful to keep this issue open given that we don't have a concrete plan or design, and there's been no discussion for months.
from haxl.
Related Issues (20)
- 2.1.*.0 tags and Hackage release HOT 1
- Building Error HOT 1
- Plans for a monad transformer interface? HOT 1
- New version to Hackage for GHC 8.8 and beyond HOT 3
- DataCacheTest fails to build with executable profiling enabled
- Release version compatible with aeson-2 and GHC 9 HOT 2
- Adding MonadMask instance HOT 1
- Rename Show1 to ShowP HOT 2
- This package is not licensed under BSD3 HOT 2
- haxl failing to compile with ghc-8.2 rc2 HOT 6
- Memory consumption depending on type annotation HOT 3
- Non-deterministic failure in collectsdata test
- Haxl 2 release on Hackage HOT 3
- Broken Hackage links HOT 1
- 2.0.0.0 tag is missing. HOT 1
- No way to update or invalidate cache HOT 9
- Don't rely on `Show` to be valid Haskell code HOT 4
- Inaccurate lower bound on `base`
- tight upper bounds for ghc-8.6.1 HOT 1
- runHaxl stuck HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from haxl.