On Wed, Apr 20, 2016 at 11:10 AM, Dominic Grostate < codekest...@googlemail.com> wrote:
> I've made an amendment to the RFC to clarify on the Nested Types, which is > indeed supposed to be part of the feature. Rasmus may want to reword it if > it isn't very clear. > > Regarding union and intersections for upper (and maybe lower) bounds. > Would it be appropriate to exclude these from type parameters until their > respective RFCs are approved? As including them in generics but not in > standard type hints may create an inconsistency. > > In short, perhaps a generics implementation should incorporate unions (and > any future type constraints) as existing features only. This would help > RFC Generics to focus on: Type aliasing, Introspection and Reflection. > That would be a wise move, there are currently some RFCs with similar areas of contention > On 20 Apr 2016 9:05 a.m., "Mathieu Rochette" <math...@rochette.cc> wrote: > > > > > > > On 20/04/2016 00:22, Sara Golemon wrote: > > > >> On Tue, Apr 19, 2016 at 1:16 PM, Mathieu Rochette <math...@texthtml.net > > > >> wrote: > >> > >>> about the upper bounds, have you consider another way of describing the > >>> constraints, eg: > >>> > >>> class Box<T> where T is Boxable > >>> > >>> this would allow multiple constraints, eg: > >>> > >>> class Collection<T> where T is Traversable, T is Countable > >>> > >>> IMO, this sort of problem should be solved by combining this feature > >> with union types, so you could have something like: > >> > >> class Collection<T as (Traversable | Countable)> {... > >> > >> And merely inherit the logic rules from that feature rather than > >> inventing yet another one. > >> > > obviously if the union type rfc passes we don't need another way of > > expressing this. > > that was only in the case it does not, I think having a way to have at > > least types intersection > > is useful here (and I didn't event think about <T is A & B>) > > > >> > >> can generic types be nested ? > >>> > >>> class Stuff<A, B is Something<A, string>> > >>> > >>> I can't imagine why not... > >> > > just to be clear, it's not just nested generic. the A type have to be > same > > in both "subtypes" > > > >> > >> For my part, I love the concept overall. Generics are an important > >> part of moving PHP towards comprehensive type-safety. But then, you > >> know how I feel about Hack. :) > >> > >> -Sara > >> > >> > > >