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

Create quickref.rst #2574

Closed
wants to merge 4 commits into from
Closed

Create quickref.rst #2574

wants to merge 4 commits into from

Conversation

tjdwill
Copy link

@tjdwill tjdwill commented Apr 27, 2024

A page of useful examples and links to examples for ease of writing Hy programs.

I'm not sure how to do an integration test/build as I've never used Sphinx or reStructuredText before. When trying to do so, I get an error because I think my Sphinx version is too recent.

@Kodiologist
Copy link
Member

Like I said, this covers a lot of the same material as the tutorial. The parts not already covered by the tutorial seem to be covered pretty well by the API reference, and indeed some of the entries are just links to the API reference and nothing else. An overly redundant manual is ultimately harder to navigate and maintain. So, instead of adding a new page to the manual, try finding the points in the tutorial or the API reference that you think are missing something and adding material there.

I'm not sure how to do an integration test/build

See CONTRIBUTING.rst.

@tjdwill
Copy link
Author

tjdwill commented Apr 27, 2024

I understand your view on it.

To me, while the tutorial provides a great introduction to the language, the examples aren't comprehensive enough in terms of translating between more complex Python syntax and Hy in order to do something useful. Adding more complex examples to the tutorial, however, would clutter it in my opinion and possibly overwhelm new users with too much information. It's fine as-is for the purpose it serves.

The API reference does have more involved examples, but it isn't as approachable, and you need to know the macro you're looking for to begin with (hence the direct links in the quick ref to the relevant sections of the API reference). Personally, I don't mind reading the API reference and continue to do so, but I know most people who would have an interest in this would want something that gets them up-to-speed more quickly. The new page is meant to bridge the gap between the two pages. It also provides a space to cover edge-cases in the future such as Numpy's multi-dimensional slicing (something that is not obvious to do and required online searching to figure out).

However, I acknowledge that I don't know the goals of this project in terms of adoption nor who the target audience is.

I get what you're saying and understand if you don't approve the merge. However, from the perspective of a new user who doesn't have the familiarity with the language that Hy developers or even experienced Lispers have, something of this sort would have been very helpful in the beginning. If not a new page, then a downloadable PDF or something.

See CONTRIBUTING.rst.

Yeah, I realized that I missed the Sphinx setup on my first pass. Thank you for that.

@Kodiologist
Copy link
Member

Adding more complex examples to the tutorial, however, would clutter it in my opinion and possibly overwhelm new users with too much information.

Agreed.

I don't know the goals of this project in terms of adoption nor who the target audience is.

I have no goals for adoption. If people use Hy, cool. If they don't, so be it. The target audience is some combination of Python programmers who want more features and less limitations, non-Python programmers who want to use Python libraries, and programmers in general.

Anyway, I see your point about the value of a page that "bridges the gap". Truth is, though, I don't want to maintain documentation that overlaps with but isn't quite identical to preexisting material. The manual is already big (a fact that I better appreciate now I've nearly completed an editing pass of the whole thing). Additions should be parsimonious. I'd prefer that supplementary learning resources be outside the manual and Hylang.org, where I'm not responsible for their maintenance. We have a GitHub wiki, if you want to use that. Or you could keep in it a separate repository, which could be linked to from Hy's tutorial or README or something.

@Kodiologist
Copy link
Member

It also provides a space to cover edge-cases in the future such as Numpy's multi-dimensional slicing

This wiki page I made recently should be a good place for that.

@tjdwill
Copy link
Author

tjdwill commented Apr 27, 2024

I have no goals for adoption. If people use Hy, cool. If they don't, so be it. The target audience is some combination of Python programmers who want more features and less limitations, non-Python programmers who want to use Python libraries, and programmers in general.

Understood.

I'd prefer that supplementary learning resources be outside the manual and Hylang.org, where I'm not responsible for their maintenance.

Fair enough. I've never maintained a project before, so I don't have a solid grasp of how much work goes into it, and I definitely don't know how much extra work new additions produce.

I'll look into the wiki solution. Should I close this pull request?

@Kodiologist
Copy link
Member

I can do it.

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.

None yet

2 participants