-
Notifications
You must be signed in to change notification settings - Fork 30
Haskell performance tuning book proposal #9
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
Conversation
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.
First pass, it's shaping up, but I think we can really flesh this proposal out to include more detail
proposals/003-perf-book.md
Outdated
|
||
- Writing this book should be a **community-driven** effort | ||
- This book should focus on writing **idiomatic Haskell** code that is fast rather than advanced state-of-the-art techniques | ||
- The book should cover the **principles and mindset** of performant Haskell code as well as provide concrete examples of debugging and tuning the performance of a Haskell project using **case studies** |
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 would add to this list that the desired goals also lead to the need for the book to describe the following:
- A modern "best-practice" toolset used to generate data for examining a program's characteristics
- Methods for analyzing and understanding the characteristics of a program using that data. (This may be folded into "principles").
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.
Added. Let me know what you think.
## Motivation | ||
|
||
One motivation for this book is that it can help **drive the adoption** of Haskell in professional settings by providing knowledge regarding what to do when debugging and tuning performance is necessary, and help **improve the confidence** of practitioners and would-be practitioners. | ||
|
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.
Do you mind providing a little more background on the motivation here? I think it's important to talk about the historical tooling, methodologies, complaints from industry, and the road to learning that exists today, and in particular what places we can help with this book
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 added a bit more background, mainly about the current learning path. I'm not so much exposed to complaints from industry so if you or @myShoggoth would like to elaborate further that'd be great.
proposals/003-perf-book.md
Outdated
- **Subject matter expert**(s): directing the “spirit of the book” and/or sharing knowledge with writers | ||
- **Writer**(s): writing the content of the book | ||
- **Reviewer**(s): providing feedback and corrections | ||
- **Editor**(s): quality assurance for the book |
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.
Who are these people going to be concretely? It sounds like we need to put out a call for resources
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 wonder whether this People
section is helping or hurting. That is, the HF should decide what we want to accomplish regardless of who is going to perform the work. Having known volunteers definitely reduces the expense of a project, but I don't think we should necessarily require the volunteers before agreeing that the project is worth supporting.
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 removed this section in favor of "Help from the Haskell Foundation" which pretty much already covers the same thing. Let me know what you think.
|
||
## Timeline | ||
|
||
## Outcomes |
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.
Outcomes should include
- A shiny new book, available in and accessible via , maintained by
- All of the accoutrements of building the book itself (a repo + instructions is a deliverable!)
- Content that handles
- Resulting in a
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 would love this section to include a description of how the community would access the book. I presume it would just be hosted on a website somewhere. But it would be nice to say.
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 added a few points with your feedback.
- Finding an **expert advisor** (or more than one) who could direct the “spirit” of the book | ||
- Finding a **editor** (or more than one) and potentially paying them to ensure the quality of the text | ||
- Paying for **design resources** for graphics and overall look and feel in case those are needed | ||
- Asking for **feedback and/or contribution** from specific people or companies to ensure the quality and validity of the information and solutions presented in the book |
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 think this would make for a very nice contribution to the Haskell ecosystem. Thanks @soupi for pushing this forward! :)
proposals/003-perf-book.md
Outdated
- **Subject matter expert**(s): directing the “spirit of the book” and/or sharing knowledge with writers | ||
- **Writer**(s): writing the content of the book | ||
- **Reviewer**(s): providing feedback and corrections | ||
- **Editor**(s): quality assurance for the book |
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 wonder whether this People
section is helping or hurting. That is, the HF should decide what we want to accomplish regardless of who is going to perform the work. Having known volunteers definitely reduces the expense of a project, but I don't think we should necessarily require the volunteers before agreeing that the project is worth supporting.
|
||
## Timeline | ||
|
||
## Outcomes |
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 would love this section to include a description of how the community would access the book. I presume it would just be hosted on a website somewhere. But it would be nice to say.
@emilypi @goldfirere thank you for the feedback. I've updated the document. |
Hello, what is the current status of this proposal? We (the GHC dev experience team at IOHK) had some discussions of crafting a similar internal document and thought synchronizing that effort with this one would be good. Some questions:
Thanks for all your efforts! |
@doyougnu As stated in the proposal, all of the material I worked on including a contribution guide, TOC, scaffolding/ci with mdbook, etc can be found in this repository. I don't know why this proposal has stalled and hasn't been reviewed, and I'm willing to pass the baton to someone else who'd be interested in championing this proposal and effort. |
I was under the impression that the proposal was not ready for review and stalled for external reasons -- not that it was pending review by the committee. Apologies! Is this proposal ready for review then? And, if reviewed and accepted, @soupi, are you willing to be the lead on this effort, with the HF attempting to provide resources and help as best it can? |
Actually @doyougnu are you interested in being a co-lead on this, or doing so with the ghc dev exp team? If so I think that's enough to drive this forward... |
I am interested in leading this (professionally and personally), but I don't want to give a direct confirmation until I have approval from my team lead. Should know by tomorrow :) |
I wish you best of luck in case you are picking this up @doyougnu, I will be closing this proposal for now so that you are able to champion this project and create a new proposal as you see fit. Feel free to reuse this proposal and the material/infrastructure I provided if you'd like. |
@gbaz, I will championing/shepherding this. I'll open a new proposal for this in the next few weeks after I have a good draft. |
Great news! We discussed some in our HFTT meeting yesterday some general thoughts. I encouraged people to comment on the ticket, but nobody did, so I'll convey a few overall things. First: the ability of the HF to solicit and encourage haskeller's volunteer effort exists but only goes so far. But there's necessarily genuine ability to pay for small things to smooth along a process of putting out a high-quality publication. So if the raw material is there, part of what the HF might be able to commit to vis-a-vis an HFTT is i.e. hiring a copyeditor, assistance with graphic design and formatting for publication, etc. Also there was a concern that we encourage code that is good as well as performant -- i.e. that we not encourage unreadable code for the sake of making every last addition explicitly unboxed and unpacked, etc. Finally, if generating the material all at once is too daunting, splitting it up and soliciting blogposts on particular topics might be a way to drive forward some of the content generation to be assembled. None of this is to mandate what a proposal must do or not -- I just thought they were helpful ideas, each to be taken with a potential grain of salt. |
@doyougnu how's the proposal draft coming, just checking in. |
Hey @gbaz thanks for the ping! I've started putting my notes into a proposal here, but I've really only just started due to blocking items. I lost two weeks moving from Oregon to New York (West Coast to East Coast of the US, it was a 42 hour drive!) and then lost another week due to getting started in a new city and then I had to close out this GHC merge request which took a lot longer than I anticipated. I also want to include decent sections on So I have only just started! But my internal goal is to get the proposal up sometime next week for comment. |
Follow up proposal to haskellfoundation#9 which stalled and never came to fruition. Introduction: rough draft done fix footnotes motivation Goals project plan up to and including phase 1 working conventions timeline Resources some whitespace cleanup more table of contents phase 0 and phase 1 expansion finished risk section cleanup ToC formatting fix risk section
Rendered