bitemyapp/bloodhound

Library redesign

blackheaven opened this issue · 1 comments

Following 0.19.0.0 release, a discussion started to rework a part of bloodhound structurally.

Things I have in mind at the time:

  • Having a proper Request/Command type which would
    • Include supported versions (eg. Since '[7,2] or Between '[6, 5] '[8])
    • Include expected response type (do so with Reply and add a debug function)
    • Include relative path (instead of a monadic creation via joinPath)
  • Splitting queries sum types to improve extensibility
  • Having a Monad/Typeclass setting-up the ElasticSearch version

I think it would be a good start, but any idea/feedback is welcomed.

0.20.0.0 has been release, except:

  • Type level versioning has been delayed since 8.x is not supported yet
  • Query cannot be split since it should implement FromJSON