-
Notifications
You must be signed in to change notification settings - Fork 71
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 a first iteration containing documentation of design. #257
Conversation
Specifically, this iteration focuses on explaining the rationale behind the Schema construct, and provides an explanation for a subset of the possible schemas
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was editing this in the IDE so I don't have proper github suggestions, enjoy a commit instead:
Added a lot of newlines so that future diffs look less cluttered (shorter lines, and it renders the same in the HTML). Also my editor likes to trim trailing whitespace on lines so that also affects the size of the diff...
@@ -0,0 +1,14 @@ | |||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't quite get through it all (will continue tomorrow), but so far the content is really awesome! I noted a few grammar errors/improvements. Feel free to take or leave them as you see fit.
|
||
Indeed, for each field, there is an associated reference to a schema (int, string, ...), a string label, and a lambda calling the case class accessor that allows the retrieval of the associated field value. Additionally, the constructor of the case class is also referenced in the Schema. | ||
|
||
Typically, the accessors are needed for encoding the data, which involves destructuring it to access its individual components. The labels are there to cater to serialisation mechanisms like Json or Xml, which apply some labelled nesting on component data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
which apply some labelled nesting on component data
I'm not quite clear what is meant by this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've rephrased, let me know how it reads
Jakub's improvements on design documentation [skip ci]
@lewisjkl since Jakub had provided a commit that impacted your suggestions, I've taken the liberty of removing your comments containing only amendments, after making sure they were addressed. |
Specifically, this iteration focuses on explaining the rationale behind the Schema construct, and provides an explanation for a subset of the possible schemas