Tutorial / Documentation Improvements #698
Replies: 9 comments 7 replies
-
Lack of concrete goalWhile the tutorial is loosely around parsing hex numbers there's ultimately no goal of having written a specific parser by the end of it. Not having this leads to things like chapter 5 being out of place of the bin, oct and dec parsing aspect which is in some way ignored / not utilised. I think it would be beneficial of having a target parser that each chapter can build upon, something that can demonstrate usage of various common combinators / parsers in winnow (which the tutorial already does presently well) If staying on the number literals theme this could be something like parsing a nested list / tree of number literals that may be in any of those cases. The list / tree aspect would allow the repeated aspect to fit better into the tutorial, provide more examples of custom return types if the output is a more context type as well as allowing the tutorial to mention |
Beta Was this translation helpful? Give feedback.
-
[Chapter 2/3] Imperative parsers / core functionsI can understand having some imperative examples of some parsers for comparison to help the reader better understand the declarative combinator approach but I'm not sure if this is the best way to do it. Chapter 2 shows 4 ways to match on a token and 3 on a tag and since they're in some way ordered from "worst" to "best" (or at least from least useful to most useful practical examples) the chapter felt like a repetition of feeling like you've learned something just for the next snippet to make that obsolete. Imperative parsers might have their uses but I'm not sure if they're the most to be shown that early on in the tutorial. The first snippet is 7 lines to parse 1 token - an overcomplicated example that the reader would never use in practice and not actually representative of how winnow would generally be used which in some way can give a bad first impression. Similarly, the core / low-level |
Beta Was this translation helpful? Give feedback.
-
[Chapter 4/7, General]
|
Beta Was this translation helpful? Give feedback.
-
[Chapter 5] Out of placeRepetition is definitely an important aspect to cover in the tutorial but it felt out of place since the repetition aspect was not used in any subsequent chapters. |
Beta Was this translation helpful? Give feedback.
-
[Chapter 7]
|
Beta Was this translation helpful? Give feedback.
-
[Chapter 7]
|
Beta Was this translation helpful? Give feedback.
-
[Chapter 8] Visually parsing trace output
|
Beta Was this translation helpful? Give feedback.
-
For some context, the tutorial was made as a fork of https://tfpk.github.io/nominomicon and has slowly been iterated on from there, including adding more of a connection between sections. |
Beta Was this translation helpful? Give feedback.
-
Thank you for providing specific, clear feedback! Something else that would be helpful is looking at it from the lens of what problems you had as you went through. This would help in better prioritizing the feedback and seeing if there are other ways of improving things. |
Beta Was this translation helpful? Give feedback.
-
Starting a more organised discussion in relation to tutorial improvements, moved over from my original comment on #196 and abridged in some ways and expanded in others.
As of writing, everything below is based on the tutorial as of
0.6.24
.Wasn't quite sure on the best way to split everything so lemme know if any of the threads need to be combined / split further!
Beta Was this translation helpful? Give feedback.
All reactions