New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redesign #155
Merged
Merged
Redesign #155
Changes from 46 commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
3975fc5
:baby: steps
purrgrammer 9d2f20f
:fire:
purrgrammer b1f5221
:fire: env in error
purrgrammer e02c9ac
:fire: FetchMonadError, interpret Fetch to IO
purrgrammer a21c1c7
:fire:
purrgrammer 4adb52c
:fire: :fire: :fire:
purrgrammer 543f875
High-level API working, now onto the execution model
purrgrammer 658574e
:baby: run Fetch with an environment
purrgrammer c9bbba6
Use Deferred and IO internally for storing intermediate results
purrgrammer 3eb78ff
:fire:
purrgrammer 2098a62
Failing test to implement batching
purrgrammer 1d3fa96
Time requests
purrgrammer d8ff3b8
Test execution model
purrgrammer 713a95d
:fire:
purrgrammer 09aa43a
:fire: monix subproject
purrgrammer 5de8412
Async queries
purrgrammer 28a98e4
Caching
purrgrammer c89a8c7
Tweaks to caching
purrgrammer 4a5f42f
Error handling
purrgrammer 82a6d24
Test batching
purrgrammer e5a3b92
wip environment debug code
purrgrammer 12719b9
Use IO in DataSource
purrgrammer 1c4a479
:fire: cleanup
purrgrammer edffae2
wip docs
purrgrammer 346358f
Introduce parallelism
purrgrammer 3223dcc
Progress on documentation
purrgrammer 917fcb1
Update cache after fetching a batch
purrgrammer 62a3f0d
Run both sides of a fetch with .tupled
purrgrammer 04dcfdf
Use value classes for the in-memory cache
purrgrammer 9f77120
Require DataSource in Fetch#apply
purrgrammer f73360a
Update Fetch#apply calls in docs
purrgrammer 7570eb5
Add note to self
purrgrammer 372fad4
cleanup
purrgrammer 1015345
Improve cache interface and Ref usage
purrgrammer 7c7fc86
Combine results in parallel and some cleanup
purrgrammer a6c9129
Tweaks to documentation
purrgrammer aea947a
Wip
purrgrammer ce7311f
Adapt examples project to new API
purrgrammer a5a870f
Update README tut source
purrgrammer 77d0fb2
Update generated README
purrgrammer ab5e799
Parallel automatic batching when possible
purrgrammer 87c68fe
Show timing in env descriptions
purrgrammer d62826e
Require Parallel[IO, IO.Par] evidence for batching
purrgrammer 6bc5980
Include Env in errors, update debugging code
purrgrammer 846f2be
Fix examples
purrgrammer 5050a45
Use AsyncFreeSpec to run tests in JS
purrgrammer ad41319
Make sure batched fetches with missing identities fail
purrgrammer 64eb312
Make internal Semigroup instances private
purrgrammer 4dbe795
Use more explicit IO constructors
purrgrammer 30e09ea
Don't use Semigroup for combining
purrgrammer 1e23998
Remove unneeded type casts
purrgrammer d62165c
Update README
purrgrammer e789482
Incorrect tailRecM
purrgrammer 53f5856
Syntax
purrgrammer c29d8a0
🔥 just a poc, does not compile
gatorcse bd422e0
Fetch implementation parameterised to F[_]
purrgrammer cb32e20
Minor cleanup
purrgrammer 01fe2aa
Update examples
purrgrammer 0897ed4
Update doc examples
purrgrammer 184e8a9
Add Par to `DataSource#fetch` implicits
purrgrammer 3e90ff5
Add tests to validation commands
purrgrammer f7dd3bc
Update README
purrgrammer fee19d6
Hide implementation
peterneyens a26faf0
Replace `>>` with functor syntax
peterneyens 554ab7a
Some refactoring
peterneyens e907a69
Simplify flatMap
peterneyens b09f1ed
Merge pull request #157 from 47deg/redesign-peter
purrgrammer 3fe15b3
Bump 1.0.0-RC1 release
purrgrammer File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer to use
IO.delay
insteadIO.apply
, since it states clearly what's doing.Also, for the lifting pure values (such as
Option(id.toString)
) you can useIO.pure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I'm going to update usages of
IO#apply
to be more explicit withIO#delay
andIO#pure
.