Closed teh closed 7 years ago
I've been thinking about this a bit.
We need to start from the perspective of the end user. What modules will they need to import? Are there pairs of modules that they'll always need to import together? What modules will they never need to import? What will they probably almost never need to import?
For example, I'm not sure I believe in the separation of Schema
and Value
. I'm not sure I don't either. I certainly don't know why a user would want them.
This is why I think starting work on something like the servant tutorial (and/or worked examples in the docs) would be a good thing to do now. It will teach us what our structure should be like.
Haddock has a Description
field for modules. This shows up in the link to the module on the module index page. I think we should come up with such a description for all of our modules at the same time we come up with names. The description should say why someone should care about that module.
What I want isn't just better module names, but rather a good, clear, and coherent terminology for the whole project. Module names are simply the first terms that our users are exposed to.
Shorter ideas:
Internal
packageAPI
is more common Haskell module name than Api
, and is to be preferredTypedAPI
& TypedSchema
modules should be in a sub-package. Thus, GraphQL.Typed.API
and GraphQL.Typed.Schema
I'm sure I had other thoughts, but I cannot recall them now. No doubt there'll be an opportunity :smirk:
If you have some time: I added a skeleton tutorial can you test whether you can build it? I don't know how people use pip/python these days so you might have to install some tools.
Will do as soon as I may. Got distracted cleaning up imports and really do need to get back to work.
Further thoughts on naming:
On Fri, 16 Dec 2016 at 14:03 teh notifications@github.com wrote:
If you have some time: I added a skeleton tutorial can you test whether you can build it? I don't know how people use pip/python these days so you might have to install some tools.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/jml/graphql-api/pull/19#issuecomment-267600482, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHq6mUdju25TxLZofq-jNsr2IesFopoks5rIppEgaJpZM4LPGuv .
Can confirm that I can build sphinx docs, but cannot build the tutorial docs.
I've sent an email to the servant mailing list asking how they do it: https://groups.google.com/forum/#!topic/haskell-servant/qxNBq11adBI
As a way forward, I think we should:
Also docs/build/
needs to be added to .gitignore
rebased, docs/build/ should be in a gitignore already - not working for you?
rebased, docs/build/ should be in a gitignore already - not working for you?
Nope.
jml@wit:~/src/graphql-api (module-naming) (0)
$ git rev-parse HEAD
b80ebaa75ddfd1988632cb5bcd880ab3f8eb5372
jml@wit:~/src/graphql-api (module-naming) (0)
$ cat .gitignore
/.stack-work
jml@wit:~/src/graphql-api (module-naming) (0)
$ git status
On branch module-naming
Your branch is up-to-date with 'origin/module-naming'.
nothing to commit, working tree clean
re .gitignore, see: https://github.com/jml/graphql-api/pull/19/files#diff-14b597b3f3e040934bdb59aa959344a7 - it's not the top-level .gitignore
re .gitignore, see: https://github.com/jml/graphql-api/pull/19/files#diff-14b597b3f3e040934bdb59aa959344a7 - it's not the top-level .gitignore
Oops, my bad. Works for me now.
What do you think about this naming? In any case, we have a branch to discuss :)