Closed sjakobi closed 2 years ago
I think this sounds like a great project. I'm not sure if we can provide a physical machine but providing something the student can SSH into shouldn't be a problem.
@doyougnu, do you think you could help as an advisor?
I'd be more than happy to help as an advisor in this project! Also it could make for a good source of case studies for the proposed haskell optimization handbook.
Many thanks for the encouraging feedback, @jaspervdj and @doyougnu!
Unfortunately my plans for this summer have changed, so I probably won't have the time to mentor a GSoC project. Maybe I can do it next year.
Aww I'm sorry to hear that. For the record I think this is a great GSoC project. If its picked up next year I'll be more than happy to mentor or shepherd!
The basic project structure could look like this:
Depending on the interests and capabilities of the student they can focus either on feature work or performance work.
For the API enhancements I have a fairly rigid structure in mind that should allow students to incrementally make progress and simplify review for the mentors:
Map
fromcontainers
.Map
/IntMap
.Does such a project sound like a good fit for GSoC?
I expect that I can provide most of the mentoring myself. Although ideally there would be second mentor to help with reviews. @treeowl, would you be interested? There's a small probability that we'll encounter performance issues that are beyond my expertise. In that case it would be great if we could consult some experts for advice. @doyougnu, do you think you could help as an advisor?
I'm planning to offer this as a medium size project (~175 hours), mostly because I don't want to overstretch myself in the first time being a primary mentor. The difficulty should be intermediate.
One requirement is that the student should have access to a computer that they can run benchmarks on: It needs to be quiet and reasonably modern (recentish CPU, at least 8GB RAM). Is this an acceptable requirement for GSoC? Otherwise, is this something that Haskell.org or someone else could provide?