boostorg / hana

Your standard library for metaprogramming
http://boostorg.github.io/hana
Boost Software License 1.0
1.7k stars 216 forks source link

Concepts for set-theoretic functions #357

Open shreyans800755 opened 7 years ago

shreyans800755 commented 7 years ago

At the moment, there are no concepts written for set-theoretic functions, due to which minor errors lengthens up to multiple pages unnecessarily.

shreyans800755 commented 7 years ago

Working on issue, will create PR as soon as considerable work is done.

ldionne commented 7 years ago

Awesome! Thanks a lot! Feel free to submit a PR with whatever you've got so that we can iterate on the wording of the concepts, which I expect will take a few iterations to get right.

shreyans800755 commented 7 years ago

@ldionne Sure. Just want to clarify: Do we need different commits for different set-theoretic-functions or single ?

ldionne commented 7 years ago

Not sure I understand. What I refer to when I say concepts is adding a new concept like Monad or Foldable, but suitable for set-theoretic operations. That should not require changing the existing functions except in a very mechanical way. Either one or many commits is fine, I don't have a preference so long as the PR is convenient to review.

shreyans800755 commented 7 years ago

@ldionne Are we looking for different concepts for different set-theoretic functions, or just a single one for all ?

ldionne commented 7 years ago

Ideally a single one for all. Just like Functor has transform, replace_if, replace, etc.., I am looking for some SetTheoretic concept (name TBD) that has difference, union, intersection, etc...