[Haskell-cafe] Suggestions for "Advanced" Topics for Haskell-based Class
headprogrammingczar at gmail.com
Wed Jan 25 01:25:25 UTC 2017
On 1/24/2017 5:58 PM, Noon van der Silk wrote:
> I think something useful could be memory concerns: analysing space
> leaks, strictness, fusion, and related areas.
> On Wed, Jan 25, 2017 at 9:14 AM, KC <kc1956 at gmail.com
> <mailto:kc1956 at gmail.com>> wrote:
> I would encourage GUI development using GHCJS or FRP or ... :)
> On Tue, Jan 24, 2017 at 12:53 PM, Conrad Cunningham
> <hcc.olemiss at gmail.com <mailto:hcc.olemiss at gmail.com>> wrote:
> I am teaching a class in Haskell-based functional programming
> for advanced undergraduates and beginning graduate students at
> my institution. None of the students have previously used
> Haskell and for most of my students functional programming is new.
> Because I am teaching this in a "multiparadigm programming"
> course, I want to expand beyond what I have usually covered in
> the Haskell-based "functional programming" course and cover a
> few topics in areas such as parallel, concurrent, distributed,
> reactive, or metaprogramming (domain-specific languages,
> Template Haskell, etc.).
> Assuming my course has more or less covered the topics in
> /Learn You a Haskell for Great Good /(with likely shallow
> coverage of monads) at that point, what would be good
> additional topics to cover, libraries to use, and tutorial or
> teaching resources to use? Although I have taught fundamental
> Haskell FP topics for many years, I have not delved into any
> of these "advanced" topics.
If you want to focus on math a bit, start with purity/parametricity/type
safety, and then work up from there. You can lead into the Curry-Howard
isomorphism and theorem proving languages like agda, or look in the
direction of -XSafe, or the algebra of ADTs / free theorems / djinn.
Both of these trains of thought eventually merge at the idea of
automation acquiring knowledge from code and using it to write more code
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe