-
-
Notifications
You must be signed in to change notification settings - Fork 189
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
Improve about page #720
Improve about page #720
Conversation
I realise it is a little bold to change this text when there hasn't been raised an issue with the previous text and a discussion of its content has been going on in the issue tracker, so consider this a proposal to address the last unchecked checkbox in #686. One could argue that removing the code snippet was sufficient. |
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 overall think the proposal is an improvement because it does more to motivate the use of the language. I propose a further improvement and also ask about whether some line breaks are intentional.
docs/ABOUT.md
Outdated
Haskell is a general-purpose programming language known for being purely functional, non-strict with strong static typing and for having type inference. | ||
|
||
**Purely functional** means that you don't update variables or modify state. | ||
A function will always return the same value given the same input and will do nothing else. |
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.
Some of the below descriptions have explained why we might care about the listed traits of the language. I think this bit about being purely functional could take a step further in this direction. The benefits of having a function always produce the same outputs for the same inputs may not be immediately obvious.
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 agree, but I'm not sure what to add / modify here. Suggestions are welcome.
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.
Pure functions will always return the same value given the same input and will do nothing else.
This makes them a lot more predictable.
Or
Pure functions will always return the same value given the same input and will do nothing else.
Functions that are referentially transparent are more predictable and more composable.
I don't like the Wikipedia pages, the StackExchange answers, or the Haskell Wiki page on referential transparency. They're either too specific on Haskell or too philosophical. But that blog post seems to do the job.
OK, cool. I think we are ready to go. Either you or I need to rebase in such a way that 35ecaab is no longer included in this PR (since it was already merged separately); I may have confused git (and by extension GitHub) too much by merging it under a different SHA. Try doing it soon or I'll do it before merging. |
I'll do it now. |
I've tried to make the About page conform to [exercism/language-tracks/documentation/introductory-copy.md][1]: - More readable to non-Haskellers. - Modelled on [the Go track][2]'s About page. - Added links to LYAH, tryhaskell.org, Hackage, Stack. - Preserved sentences one per line, but such that they render in fewer paragraphs. [1]: https://github.com/exercism/docs/blob/master/language-tracks/documentation/introductory-copy.md#code-snippet [2]: https://github.com/exercism/go/blob/master/docs/ABOUT.md
I've squashed and rebased changes on top of master. |
Great stuff, thanks! |
I've tried to make the About page conform to exercism/language-tracks/documentation/introductory-copy.md:
It still does not mention history, design goals, or what Haskell is great for.
It no longer has comparisons to other languages. It could have.