Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add scaladoc targeted at newcomers to type-derivation #436

Merged
merged 1 commit into from
Nov 28, 2022

Conversation

rtyley
Copy link
Contributor

@rtyley rtyley commented Nov 23, 2022

As a fairly experienced programmer, but a newcomer to type-derivation and the terminology around Algebraic Data Types, I felt uncertain quite quickly when trying to use Magnolia, and would have found some Scaladoc helpful!

I'm not assuming that a developer would have to access rendered HTML scaladoc to get value from this additional documentation - for instance, the way I normally consume scaladoc is clicking through to the original library source code in my IDE, and reading the scaladoc next to the code.

In particular, I found these things puzzling as a newcomer, and have tried to provide explanation/context (which may be wrong!) on them:

  • What's the full list of methods needed to implement a derivation?
  • Why are they called join & split?
  • What would a typical way to implement them be - where are the examples of usage?

Some of the descriptions in the Scaladoc may look a little obvious or unnecessary to experienced users of the library - the wording may appear almost equivalent to the type signature of the method, but I do think spelling these things verbally is helpful to new users!

As a fairly experienced programmer, but a newcomer to type-derivation
and the terminology around Algebraic Data Types, I felt uncertain quite
quickly when trying to use Magnolia, and would have found some Scaladoc
helpful!

I'm not assuming that a developer would have to access rendered HTML
scaladoc to get value from this additional documentation - for instance,
the way I normally consume scaladoc is clicking through to the original
library source code in my IDE, and reading the scaladoc next to the
code.

In particular, I found these things puzzling as a newcomer, and have
tried to provide explanation/context (which may be wrong!) on them:

* What's the full list of methods needed to implement a derivation?
* Why are they called join & split?
* What would a typical way to implement them be - where are the examples of usage?

Some of the descriptions in the Scaladoc may look a little obvious or
unnecessary to experienced users of the library - the wording may appear
almost equivalent to the type signature of the method, but I do think
spelling these things verbally is helpful to new users!
@adamw adamw merged commit 4bc7d5e into softwaremill:scala3 Nov 28, 2022
@adamw
Copy link
Member

adamw commented Nov 28, 2022

Awesome additions- thank you! :) We are definitely missing docs in other places as well, so if you see somewhere lacking, please let us know

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants