-
Notifications
You must be signed in to change notification settings - Fork 300
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
Port Jordan's "Syntax" folder into this repo #345
Comments
I find the language folder in this docs repo (with a few .md files) much easier to consume than clicking though a tree of interleaved .purs and .md files. I'd prioritize ease-of-reading over ease-of-maintaining, but getting both is ideal. Can we find a way to keep compiler verification, while still letting the docs be easy to read and navigate? Maybe something like mdBook anchors? Is this compatible with any of the ideas proposed in #344? |
Yeah, something like that is what I had in mind. |
I've been thinking of this problem. Already a small fix on the documentation page could really help here. How about grouping the references together? Eg. When you now got "Learning" subheading, split it into "Books", "Language References", "Short posts". This way the next depth-first-batman doesn't go "OOK REFERENCE" and hit the Language reference -link before figuring there's more of them. For extra oomph put in "If the main reference ends up not answering what you're looking for, try the others as well". Some benefit of doing it this way would be that Jordan can continue working on his material without needing movement to official documentation, which obviously grows as he studies on it, and the structure he has chosen would be good for what he's doing. The downside to this is that the main language reference grows slower. But then, people could be less stressed and quality of that documentation could end up better because of it. |
While that might clarify some things, I think the issue is a bit more nuanced than that. When I go to the Readme of this project, there are a TON of possible links I could click. That's not a bad thing, but a new learner is less likely to discover my repo. Even if they do, it's not easily navigable as Miles pointed out above. |
I think it might be helpful for me to lay out what I consider the scope of this repository (or, at least, of the This repository grew out of a wiki which anyone could edit, which means that the structure is not great - there's definitely overlap in some places, especially between Records and Syntax. I've been meaning for a while to go over the whole thing and try to restructure it so that it's easier to find things and to avoid accidentally introducing overlap when editing. I've also been meaning for a while to try to transfer the language reference part back to the compiler repository, as I think the compiler and the language reference should ideally be developed in tandem. At the moment it's far too easy to add a feature in the compiler and forget to update the language reference. Putting the language reference inside the compiler repo also allows us to version them together, so that people can easily look at older versions of the language reference if they're using an older compiler. I'm not sure exactly what the implications of this are for the idea of porting the Syntax folder into this repo, but I'm hoping that laying this out clearly might make it a bit clearer how we could proceed. |
First, thank you for taking the time to respond in detail, @hdgarrood.
Thank you for providing this history. It gives insight as to why the repo is structured this way.
My Syntax folder is more like a very large Tutorial on PureScript's syntax: the later parts build on top of the earlier parts and it is geared heavily towards beginners. At the very least, this clarifies the different purposes behind this repo's language reference and my Syntax folder.
It sounds like the language reference exists primarily for core contributors to the PureScript language and people already familiar with the language. It was my understanding that this repo was more for new beginners who want a quick overview of the syntax and other PureScript-related things. Is that clarified anywhere in this repo?
That makes a lot of sense! Would any part of my Syntax folder or some modification of it help to achieve or reduce the amount of work needed to achieve these goals? I'd like to also consider another way forward, whether the Syntax folder helps the above goals or not. What if the Syntax folder was turned into its own repository and moved under the |
I don't think that's clarified in this repo, no. That would definitely be a good thing to clarify. Just to be absolutely clear, though - I'm only talking about the
I can't immediately see how it would - the styles are of course quite different, and I think the style that the language reference currently has is preferable for reference documentation. Your Syntax folder may be useful for identifying gaps, although I think I personally would prefer to read through the compiler source code if I was trying to identify gaps.
Having a repository just for syntax documentation aimed at beginners seems a little odd to me - I think beginners might not be able to tell the difference between a problem they're having arising from a misunderstanding of the language syntax versus a problem arising from a misunderstanding of something else about the language, so if syntax is documented separately from other things, that might make it harder for people to know which resource they should be looking at. |
I've opened #348 to address this point.
That's a good point and I think I see the nuance you're describing better. To restate what you're saying... Let's say someone is learning PureScript and they get a compiler error. There are generally two possible reasons why that error occurred. Either the learner did not use correct syntax (for example, wondering why Changing topics, a few other thoughts have come to mind after I opened this issue. First, if I did port the Syntax folder to this repo, it would remove an important part of my repo and fragment that learning resource. I believe this would actually be undesirable. One of the main benefits of that repo is that you get all of it in one centralized repo rather than having to hunt for things across multiple repos. I think that alone is reason enough for me to close this issue. Second, when I reconsider my motivation for porting the Syntax folder here, I think it was to remove some of the "competition" for a new learner's attention. In other words, the documentation repo appears on the PureScript website with the description of "the central place where you can find articles, in-depth learning resources for beginners, and more" (emphasis mine). This seems to imply a couple of things:
Since this repo's Readme's Learning section includes the
If the above timeline is accurate, perhaps #348 will help resolve part of this issue. Third, the two main issues with my repo, as Miles and others have brought up multiple times, is that 1) it's not easy to find and 2) it's not easy to navigate. Porting this folder to this repo would make it easier to find as it would appear as an "official" learning resource, but it still wouldn't be easy to navigate. If I fixed both of those problems by using something like Thoughts? |
Here's what I propose: port my entire Syntax Folder into this repo. (Note: the repo already has up-to-date syntax guide on the upcoming PS v0.14.0 release via the v0.14.0-syntax branch).
Here are the benefits:
The costs:
The text was updated successfully, but these errors were encountered: