Commit Graph

113 Commits

Author SHA1 Message Date
Oleg Grenrus
45c1cbdfd5 Refactor Stream stuff
- Introduce SourceT, which is simple variant of "correct `ListT`".
  There are another variants possible (like in `streaming`),
  but I'm not sure there's much real difference.

- Introduce `Codensity`. There's a flag if people don't want to depend
  on `kan-extensions`.

- `StreamGenerator` and `ResultStream` are both `SourceT`.
  `Stream` combinator in `servant-client` uses `Codensity` for CPS.

- Add servant-machines, servant-conduit, servant-pipes
- Add streaming cookbook: just code, no explanations.
- Add a script to run streaming 'benchmarks'
2018-11-05 15:48:47 +02:00
Oleg Grenrus
788e0248f1 8.4.4 job 2018-10-15 18:15:52 +03:00
Colin Woodbury
ef573bab0e
Update tested-with fields 2018-10-07 10:44:41 -07:00
Colin Woodbury
dec0636611
Update bounds for GHC 8.6 2018-10-07 10:38:36 -07:00
Oleg Grenrus
cfade67c2f Cleanup pre-GHC-8.0 stuff 2018-07-11 01:39:38 +03:00
Oleg Grenrus
5ba0e439dc Support only GHC-8.0+
Let's bump lower bounds to whatever is in LTS close to release date.
2018-07-10 17:17:56 +03:00
Oleg Grenrus
1114925048 Allow free-5.1, lens-4.17 2018-07-05 23:21:36 +03:00
Oleg Grenrus
f9bcc15d0b Apply stylish-haskell on all modules 2018-06-29 23:36:39 +03:00
Oleg Grenrus
dcc67f3089 Add FromResultStream/ToStreamGenerator [a] instances.
- Add Streaming endpoint to the comprehensive API.
- Rename BuildFromStream to FromResultStram
   - I'm tempted to rename everything in the Servant.API.Stream
     (add some prefixes, `header` is too good name to steal)

The TODO in `servant-docs` is left intentionally.
2018-06-24 21:52:09 +03:00
Oleg Grenrus
bd40d46d28 Update x-revisions 2018-06-19 21:23:40 +03:00
Oleg Grenrus
e1850175f7 Add changelogs to other packages 2018-06-19 21:23:28 +03:00
Oleg Grenrus
6a1fa67fc4 Bump up versions 2018-06-12 19:27:13 +03:00
Oleg Grenrus
0b084afe62 Update .travis.yml
- Disable file-upload recipe (changed MkLink breaks released
  servant-multipart)
- GHC-8.4.2 -> GHC-8.4.3
2018-06-01 13:42:34 +03:00
Oleg Grenrus
c56fda3869 Support GHC-8.4.1 and newer deps 2018-05-26 01:06:36 +03:00
Oleg Grenrus
7d4293fb56 Bump hspec, doctest and transformers-compat 2018-04-11 11:34:16 +03:00
Oleg Grenrus
dd7ec1dfd7 Allow base-compat-0.10.0 2018-04-11 11:26:14 +03:00
Oleg Grenrus
3e1748c965 Add description modifier helpers and parametrise Capture 2018-02-15 12:28:42 +02:00
Oleg Grenrus
56a72d7d48 Add changelog and bump versions 2018-02-08 15:17:48 +02:00
Oleg Grenrus
c55b778d8e Bump lower bound of http-types >= 0.12
- WIP: pending http-api-data release
- TODO: remove MIN_VERSION_http_types
- There have been 3 major releases of http-types:
  - 0.10 change name of variable
  - 0.11 lowercase escaped URIs
  - 0.12 uppercase escaped URIs
- It's easier for us to support only latest, migration from 0.9/0.10 to 0.12
  is trivial for the downstream. 0.11 may cause semantic (non-type-error) breakage somewhere.

Also allow lens-4.16, remove MIN_VERSION_http_types conditionals, and
update `stack.yaml`
2018-01-30 11:29:25 +02:00
Oleg Grenrus
f9963d32ff Bump lower bounds in rest of packages 2018-01-25 17:17:35 +02:00
Oleg Grenrus
0ae673583b Bump lower bounds in servant
- `text` is already 1.2.3.0 as https://github.com/fpco/stackage/issues/3147
  is resolved AFAICS

- `http-types` bound is surprisingly low due:
  https://github.com/fpco/stackage/issues/2976
2018-01-25 15:06:14 +02:00
Oleg Grenrus
bc3f61d615 Add Servant.API.Modifiers to servant
Changes Header, ReqBody and QueryParam to take a modifier list.

Resolves https://github.com/haskell-servant/servant/issues/856

ResponseHeader story turns to be somewhat ugly, but it can be made
elegant when https://github.com/haskell-servant/servant/issues/841 is
implemnted, then we can omit HList aka Header Heterogenous List
implementation.

- servant-server changes:

  Writing server side intepretations is quite simple using
  `unfoldRequestArgument`, which makes Header and QueryParam look quite
  the same.

  `ReqBody` cannot be easily made optional with current design (what that
  would mean: No Content-Type Header?), so that dimensions isn't used
  there.

- Add HasLink for all the rest ComprehensiveAPI combinators
- Add 'tricky' Header', QueryParam' endpoints to ComprehensiveAPI
- servant-docs: Quick'n'dirty implementation. Don't use modifiers information (yet).
2018-01-25 09:10:11 +02:00
Michael Sloan
e38892a084 Remove usage of default exts, now "stack ghci" loads all together 2018-01-17 21:16:38 -08:00
Oleg Grenrus
ccf0056f64 Regenerate .travis.yml 2017-12-10 14:27:40 +02:00
Oleg Grenrus
288e786f18 Bump servant-foreign for 0.11 2017-12-01 23:28:37 +02:00
Dimitri Sabadie
c1371dd84d Temporary fix for Header. (#843)
servant-foreign: make foreign client Header arguments have the representation of 'Maybe' in those languages
2017-11-27 00:23:55 +01:00
Oleg Grenrus
bba98a3755 Update changelogs 2017-11-06 12:35:43 +02:00
Oleg Grenrus
80c6ba5347 Derive Typeable for internal servant-foreign types 2017-11-06 12:29:43 +02:00
Oliver Charles
bfe6f5b0a4 servant-foreign: Explicitly import Data 2017-11-06 12:21:35 +02:00
Ollie Charles
197d776e08 servant-foreign: Move -XDeriveDataTypeable to servant-foreign.cabal 2017-11-06 12:21:31 +02:00
Ollie Charles
335e30be74 servant-foreign: Derive Data for all types 2017-11-06 12:21:28 +02:00
Oleg Grenrus
018f0e082e Bump versions and update changelogs.
The changelog for `servant` contains changes across core packages,
as we release them as a suite.

Also added links to the GitHub master as we might update entries
for old versions, as changelogs are written by humans.
2017-11-06 11:24:48 +02:00
Oleg Grenrus
b45e94de19 cabal new-build based .travis.yml 2017-10-25 18:15:02 +03:00
Oleg Grenrus
2d6bf5055b Improve .cabal files
- Add build-tool-depends, so new-build can use hspec-discover
- Add mtl bounds in tutorial (and dependency on mtl-compact)
- Add extra-source-files to tutorial, so it's buildable from sdist
2017-10-23 08:58:39 +03:00
Oleg Grenrus
50be3a263b Merge pull request #767 from fierce-katie/docs-combinators
Description and Summary combinators
2017-08-16 15:31:12 +03:00
Oleg Grenrus
213620e56a Fix cabal category 2017-07-25 10:46:57 +03:00
Catherine Galkina
ec0431d930 Add instances for new combinators 2017-06-08 18:27:36 +03:00
Oleg Grenrus
ec930ac9a8 Release 0.11 2017-05-24 08:02:56 +03:00
David Turner
e73f00b333 Test that no foreign functions are generated for an EmptyAPI 2017-05-16 10:31:33 +00:00
David Turner
113561639a Fix name of test 2017-05-16 10:31:02 +00:00
David Turner
fa3f1869f2 Add EmptyForeignAPI and instance HasForeign ... EmptyAPI 2017-05-16 10:07:30 +00:00
Ryan Scott
ec4573d988 Make servant-foreign build on GHC 8.2 2017-04-01 13:56:08 -04:00
Oleg Grenrus
8a3ecb2ebc Classify changelog into breaking and other changes 2017-02-01 09:06:30 +02:00
Oleg Grenrus
736918a694 Tweaks for 0.10 (#694)
* Add Servant category to in-repo packages

* Add version table
2017-01-30 19:12:39 +02:00
Oleg Grenrus
93df8d22df Bump version to 0.10 2017-01-26 20:10:01 +02:00
Oleg Grenrus
da1b1980eb Add ComprehensiVeAPI test for servant-foreign 2017-01-20 00:09:54 +02:00
Julian K. Arni
92b1196830 Redundant import fixes 2017-01-16 13:20:39 +02:00
Nickolay Kudasov
b836f13dea Remove Elem from servant-foreign 2017-01-16 13:20:39 +02:00
Oleg Grenrus
77f69101fb Add changelog and resurrect one test (higlights the change) 2017-01-16 11:53:14 +02:00
Dario Bertini
c20c09411d Fix javascript function name generation, mostly fixes #191
and remove js-specific code in servant-foreign (code which would now be dead)
2017-01-16 11:47:55 +02:00