These are chat archives for boostorg/hana

25th
Feb 2016
Jason Rice
@ricejasonf
Feb 25 2016 00:03
lol.. here I am hacking it in there. What if we thought of hana::type as a singleton hana::types?
Louis Dionne
@ldionne
Feb 25 2016 00:20
Well then I think M(T) wouldn’t have sense anymore, it would always be M(M(T)) (where M is experimental::types_tag and T is hana::type_tag).
I’m not sure, let me think.
Jason Rice
@ricejasonf
Feb 25 2016 00:23
template <typename T>
using type = hana::types<T>;
I'm not saying do that, but the idea is that they are the same.
so M would have to consider type_tag and types_tag as interchangeable.
Louis Dionne
@ldionne
Feb 25 2016 00:24
Yeah, I understand your idea. I’m trying to see what it changes w.r.t. the ability to make it a Monad.
Jason Rice
@ricejasonf
Feb 25 2016 00:25
I think unpack would have to not wrap a member with type if it is a hana::types.
Louis Dionne
@ldionne
Feb 25 2016 00:28
I think there’s no level of sophistication that would make it legal for hana::types to be considered a Monad. I’ll let it sink in, though, because there might.
Jason Rice
@ricejasonf
Feb 25 2016 17:01
yeah... static_assert failed "hana::equal( hana::monadic_compose(lift<M>, f)(x), f(x) )" :hurtrealbad:
Jason Rice
@ricejasonf
Feb 25 2016 17:06
To be a Monad, does it have to be able to work with ANY kind of value? I definitely see that with Sequences as they are meant to be isomorphic.
I think, for my purposes, I will continue to use my empty list, but give it the same unpack specialization for Metafunctions because that is really useful. (or a special function or something)
Jason Rice
@ricejasonf
Feb 25 2016 17:24
ricejasonf/hana@e55ef11