Edit: Timezone is -4 UTC, but I have irregular sleep schedules and can probably get up just for your time.
I’ve been making minimal progress working on Haskell on my own, so I’d like to look for someone willing to tutor me Haskell and computer science (or more specifically, Computer Science using Haskell as an introduction).
My current knowledge is:
I know Maybe Monad, IO Monad, do not know how to use iteratee IO, am not comfortable with random libs, do not know MTL / state monad / monad transformers, not comfortable with IO
Mathematically, I got A/A/A-/A on Calc 1/2/3 Multivar / Linear Algebra, but am terrible with proofs.
Finished most of Haskell from the Very Beginning (stuck at IO problems)
Read / Skimmed through most Haskell textbooks
I am offering 20-80 USD based on qualifications, I prefer someone who has actual teaching experience.
===
As an aside, I am interested in meeting anyone who wishes to set up a HaskellFirst project wherein we develop Haskell as a first language as an introduction to computer science for amateurs.
====
As far as HaskellFirst goes, someone asked for an elucidation of what I meant by HaskellFirst.
From a market analysis angle, Haskell is fairly close to saturation within the traditional programming community. As in, I keep on meeting random programmers, and they all know Haskell, or at least some Haskell. Right now, there’s quite a bunch of Haskvangelists who are targeting existing programming communities, and they get diminishing returns because their target audience either knows some Haskell or does not have the time and patience to learn and apply Haskell properly.
This implies that it makes sense to look for new markets, i.e, non-programmers, kids, middle managers, and so on. In my own experience, as a non-programmer, Haskell was the language that clicked most for me, in part because of its relatively simple syntax. Likewise, as a non-programmer, I wasn’t that familiar with traditional imperative algorithms, so a functional frame of mind was easier to achieve.
The idea with HaskellFirst, then, is to develop pedagogical methods for Haskell that are oriented toward non-programmers, with the goal of, even if they ultimately don’t stick with Haskell, having them become more proficient programmers than if they started with Java or Python. The value proposition that I identified in my case (Haskell is relatively prestigious, but also way easier than others make it sound) I think can sell very well to a broad swath of people; like the teenager who needs something to make his college application stand out, or the middle manager who wants to present a usable prototype to her or his IT team.
A further element is that I’m floating a hypotheses that functional programming and imperative programming are natural to different types of intelligences; imperative programming, for instance, requires the developer to mentally keep track of state. Some people, like me, have relatively poor working memories, and thus are unable to take to imperative programming easily. If there are others for which functional programming clicks much easier than imperative programming, it’s a generally good way to expand the global pool of developers by targeting underutilized resources.