Commit Graph

56 Commits (751ac69eaf439c706fc345525d4fdb724568fe80)

Author SHA1 Message Date
Lennart Spitzner 751ac69eaf Bump bounds for ghc-9.0 2022-12-14 15:02:47 +01:00
Lennart Spitzner 4f169af01c Bump to 2.0.0.0, Append changelog, Update readme 2022-12-14 15:02:47 +01:00
Lennart Spitzner 5486bf0737 Make examples non-buildable without new flag butcher-examples 2022-12-14 15:02:47 +01:00
Lennart Spitzner 9fc7d27fc0 Add example for butcher+barbies usage 2022-12-14 15:02:47 +01:00
Lennart Spitzner b4dc827b6e Update examples / Put examples in components 2022-12-14 15:02:47 +01:00
Lennart Spitzner 5d67167c87 Major changeset: Add applicative, Refactor monadic interface
- monadic interface now uses two-phase setup: First step is to create a
  full CommandDesc value, second is running the parser on input while the
  CommandDesc is chained along
- applicative interface has a somewhat nicer/cleaner implementation, is
  more secure by avoiding any demands on the API user that are not encoded
  in types, but is slightly less expressive and requires ApplicativeDo to
  get readable code.
- The applicative interface is *NOT* finished and the test-suite does not
  cover it.
- Add the `traverseBarbie` construct which introduces a dependency on
  the `barbies` library. This also effectively:
- Stop support for ghc < 8.4.
- Refactor the module structure a bit, and change the API of the central
  `runCmdParser` function. It now returns a `PartialParseInfo`. Essentially,
  `runCmdParser` is a combination of the previous `runCmdParser` and the
  previous `simpleCompletion`. This API design is a curious advantage to
  laziness: Returning a complex struct is harmless as fields that the user
  does not use won't be evaluated. The downside is that the core function now
  looks like a complex beast, but the upside is that there is no need to
  expose multiple functions that are supposed to be chained in a certain way
  to get all functionality (if desired), and we still _can_ provide simpler
  versions that are just projections on the `PartialParseInfo`.
- Stop support for an anti-feature: The implicit merging of multiple
  sub-commands definitions with the same name.
2022-12-14 15:02:47 +01:00
Lennart Spitzner ad17fe7763 Drop support for ghc<8.4 2020-06-10 21:59:50 +02:00
Lennart Spitzner 585294f3a3 Bump to 1.3.3.2, Add changelog 2020-06-10 12:18:06 +02:00
Lennart Spitzner 9d0fb2a268 Fix cabal file: missing include-dirs for test-suite 2020-06-09 00:07:42 +02:00
YAMAMOTO Yuji 206a9bfae1
Build with GHC 8.10
I confirmed the tests pass
2020-05-16 17:55:19 +09:00
Lennart Spitzner 32eaf60e63 Bump to 1.3.3.1 2020-04-11 23:37:50 +02:00
Lennart Spitzner aaa83ee100 Undo prematurely exposed modules / bad cabal file 2020-04-11 23:37:05 +02:00
Lennart Spitzner c3d1b141a8 Bump to 1.3.3.0, Add changelog 2020-04-11 23:36:09 +02:00
Lennart Spitzner 707050f881 Add rtsopts flag to test-suite 2020-04-10 23:29:06 +02:00
Neil Mitchell 564cc9097d
Permit extra-1.7 2020-03-14 16:28:12 +00:00
Lennart Spitzner 9b69fdc1b1 Bump bound for ghc-8.8 2019-09-29 19:25:06 +02:00
Lennart Spitzner 64615f9a40 Bump to 1.3.2.3, Fix deque dependency bounds 2019-06-09 20:41:59 +02:00
Lennart Spitzner 3429a11ff8 Bump deque bound, Update copyright 2019-06-08 22:32:12 +02:00
Lennart Spitzner 19b458cfce Bump to 1.3.2.2 2018-12-02 14:34:40 +01:00
Lennart Spitzner 6e70709e67 Bump to 1.3.2.1 2018-10-07 16:06:18 +02:00
Lennart Spitzner 71441b3c2b Re-enable ghc-8.6, Add -Wcompat 2018-10-07 16:06:07 +02:00
Lennart Spitzner 516b975ac7 Switch to latest deque version 2018-10-07 16:05:38 +02:00
Lennart Spitzner 2262d4c955 Strengthen upper bound due to duplicate instances 2018-10-05 10:32:38 +02:00
Lennart Spitzner 1eb489489d Bump to 1.3.2.0, changelog 2018-10-03 22:06:17 +02:00
Lennart Spitzner f756d4fb55 Revert base bump; broken with 8.6.1 after all 2018-10-03 22:03:06 +02:00
Lennart Spitzner 481d6a1905 Relax upper bounds for ghc-8.6 compat 2018-07-10 17:49:37 +02:00
Lennart Spitzner 39e8c8cc2e Relax upper bound to "free < 5.2" 2018-07-10 14:32:04 +02:00
Lennart Spitzner c62b7f813c Relax version bound on multistate, Bump to 1.3.1.1 2018-04-17 20:45:54 +02:00
Lennart Spitzner ed4665f8ee Bump to 1.3.1.0, changelog 2018-04-17 18:13:14 +02:00
Lennart Spitzner 2e245432a5 Remove cabal flag "butcher-dev" 2018-04-13 21:23:35 +02:00
Lennart Spitzner 720530b308 Bump to 1.3.0.1, Write changelog 2018-04-13 20:56:16 +02:00
Lennart Spitzner 7c68d54368 Add upper bounds to all deps 2018-04-13 20:52:03 +02:00
Lennart Spitzner 99393b929a Update copyright 2018-04-13 20:47:08 +02:00
Lennart Spitzner e0dd252707 Adapt to ghc-8.4, Drop support for ghc<8 2018-04-13 20:47:08 +02:00
Lennart Spitzner c63327e25c Bump to 1.3.0.0, Changelog, Add few upper bounds 2018-02-12 17:10:46 +01:00
Lennart Spitzner dda70a959b Remove dependency on `either` package 2017-12-10 23:23:59 +01:00
Lennart Spitzner e8272f1804 Bump to 1.2.1.0; Changelog 2017-11-13 21:28:19 +01:00
Lennart Spitzner d9b56af676 Add interactive utils in new module 'Monadic.Interactive' 2017-11-13 21:27:58 +01:00
Lennart Spitzner 728cc8641d Bump to 1.2.0.0; Changelog 2017-10-03 17:06:55 +02:00
Lennart Spitzner 918ae1c417 Bump to 1.1.1.0; Changelog 2017-10-02 22:47:00 +02:00
Lennart Spitzner b7f1f0382f Remove ghc -j flag from .cabal file 2017-10-02 22:24:03 +02:00
Lennart Spitzner 4c053ab1f2 Add github readme link to package description 2017-09-24 17:52:32 +02:00
Lennart Spitzner cdb9e4e723 Bump to 1.1.0.2 2017-09-24 17:44:22 +02:00
Lennart Spitzner cd983676cb Fixup maintainer name 2017-08-10 17:48:29 +02:00
Lennart Spitzner 656b3e221b Bump to 1.1.0.1 2017-08-01 23:31:43 +02:00
Lennart Spitzner 8267c300c3 Adapt for ghc-8.2.1 2017-08-01 23:28:33 +02:00
Lennart Spitzner e0ea9ef948 Update maintainer email address 2017-08-01 23:28:11 +02:00
Lennart Spitzner 0044c7561e Prepare release, Change .cabal file 2017-05-17 00:10:36 +02:00
Lennart Spitzner ece1412364 Remove unused dependency (nats) 2017-05-16 23:58:01 +02:00
Lennart Spitzner fb25b564ff Prepare release (Fix cabal etc.) 2017-05-16 21:41:54 +02:00