elvishjerricco / fraxl Goto Github PK
View Code? Open in Web Editor NEWLicense: BSD 3-Clause "New" or "Revised" License
License: BSD 3-Clause "New" or "Revised" License
It is theoretically possible to "parallelize" via a batch call as opposed to thread based concurrency. It's unclear from the docs if this is possible.
I'm trying to understand why using the catchError
of Fraxl
doesn't catch errors thrown by fetch functions. For example, the following code prints Left "Error"
instead of Right 1
:
data ErrorSource a where
ThrowError :: ErrorSource a
fetchErrorSource :: Fetch ErrorSource (Either String)
fetchErrorSource = traverseASeq $ \ThrowError -> pure $ throwError "Error"
myThrowError :: Fraxl '[ErrorSource] (Either String) Int
myThrowError = dataFetch ThrowError `catchError` \_ -> pure 1
main :: IO ()
main =
print $ runFraxl (fetchErrorSource |:| fetchNil) myThrowError
I just watched your Haskell meetup video and am peeking around the codebase a bit. Very interesting stuff!
Just curious, why is Fetch given as
type Fetch f m a = ASeq f a -> m (ASeq m a)
rather than
type Fetch f m a = ASeq f a -> m (ASeq Identity a)
Does only asking the interpretation function to put together a sequence of m a
actions unlock some additional power, versus just executing the actions right then? It seems the actions are just join
ed away by runFraxl
in the end anyways.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.