What's next - ahri/lazymanc.net GitHub Wiki
Recursion schemes
- Recursion Schemes blog series (5 parts)
- Programming with bananas and barbed wire (part 1 - not sure if there was a part 2)
- Further reading
Monads
Free Monads
- Motivation
- Detail
- Why Free Monads Matter
- What does Free buy us?
- Free Monads Explained - says part 1 but there is no part 2
- A more CT view on it
- Considered Harmful
- Further reading
Co-Monads
-
https://blog.functorial.com/posts/2016-08-07-Comonads-As-Spaces.html
-
Declarative UIs (very short paper)
-
cofree
-
free & cofree - Free for DSLs, cofree for interpreters
Functors
Fix & MonadFix
Parallelism
- Haskell wiki overviews for Parallel and Parallelism provide a good starting point
Data Parallelism
- Data Parallel Haskell
- 5-part array programming series (using Repa) - see links at top for all posts
- Array processing: Massiv, vs. older Repa
Hands-on parallelism
- Intro to
parallel
library - STM
- Video on parallel programming in Haskell
- OpenCL
- Cloud Haskell
- Haxl
- Funflow
Lenses
- Motivation
- Detail
- Further reading
- more theory
- lens over tea - more in-depth
FRP
- reflex with brick to avoid ghcjs
Pipes/Streaming
- discussion
- https://hackage.haskell.org/package/foldl-1.2.3/docs/Control-Foldl.html
- https://hackage.haskell.org/package/streamly
- https://www.reddit.com/r/haskell/comments/85jgm5/say_hello_to_haskell_streaming_performance/
- https://hackage.haskell.org/package/streamly-0.1.1/docs/Streamly-Tutorial.html
Tagless final style
Monoids
- http://eed3si9n.com/herding-cats/Free-monoids.html
- Looong detailed post
- Free Monoidal Functors
- Beautiful Aggregations
Arrows
- some skepticism about their use
- lots of overlap with monads & applicatives
- arrow extension
- Understanding looks thorough & has diagrams
Linear types
- Motivation
- Detail
- Further reading
Denotational semantics
Group project
- bombastic-hs only has basic logic, plenty of work to do
- refactoring
- typeclass application
- DSL with StateT
- UI
- CLI
- Web
- AI
- Networking (client/server [WebSockets], p2p [WebRTC])
- refactoring