Skip to content

A few remarks #1

Description

@theobat

So first of all thanks for putting this together.

The main problem I see with merging what I did is this: you added a notion of "type variable" in wrapper definitions whereas I only allowed for type aliases on existing wrappers (List or NonNull).
Another problem I see is that you used the notion of haskell tuples, without giving a definitive meaning for it (in graphql I mean):

wrapper Entry<a> = (ID!, a)

Except for the Entry type the type variable is useless in the examples you provide and I think it's be clearer to state:

wrapper Set = List
# versus
wrapper Set<a> = [a]

On the other hand I don't really know how to define a tuple without adding the notion of type variables in wrapper type definitions, but that's drastically extending the type system I guess...

Overall, I think It'd be better to separate the proposal into 2 parts:

  • A proposal for wrapper aliases (enabling lists, vectors etc)
  • A proposal for "multi type wrapper" definitions (like tuples) ? Or for type variables in general ? At the very least a definition for what (ID!, a) means in graphql terms is required

let me know what you think

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions