Skip to content
0:00 / 0:00

#comonads#haskell#zippers

Kenneth Foner - Getting a Quick Fix on Comonads

Greg Hale

131 subscribers • 2 videos on Hallway

YouTube
  • Recommended by 4 people: 1 on Lobsters, 2 in engineering communities and 1 curated list.
  • Presented by Kenneth Foner, Haskell developer
  • Linked in the descriptionkwf/ComonadSheet

Advanced. Deep dive for people who know the field.

8.5K views12 years ago4 recommendations

Programming languagesHaskellFunctional programming

Kenneth Foner explains comonads in Haskell, demonstrating how they can be used to model context-sensitive computations.

Kenneth Foner's Comonad talk at the Boston Haskell meetup, September 17, 2014. Code and slides: github.com/kwf/ComonadSheet

Why it's here

4 people recommend this

What people say. Highly recommended as one of the clearest and most intuitive explanations of comonads in Haskell.

u/edwardkmettin r/haskell • Recommends

Boston Haskell: Kenneth Foner - Getting a Quick Fix on Comonads

u/kwefin r/haskell • Recommends

Getting a Quick Fix on Comonads (talk at Boston Haskell, Sept. 17)

programming-talkscurated list on GitHubRecommends

Under “Haskell”

Getting a Quick Fix on Comonads 00:58:33 by **Kenneth Foner** (for best watching experience, watch it after the optimization talk by dan doel) (2014)

bitemyappon Lobsters • Recommends

Getting a Quick Fix on Comonads

bitemyappon Lobsters • Recommends

Kenneth Foner - Getting a Quick Fix on Comonads

u/gatlinin r/haskell • Mentions

On “I built a little terminal app!”

So there's a cool library called ComonadSheet that might interest you. IIRC the package doesn't build right now on recent ghc versions but it has a link to the author's talk on the matter and some explanation. Anyway I've wanted to sit down and make a cool game of life simulator using this approach. Maybe you will want to as well!

u/SSchlesingerin r/haskell • Mentions

On “Infinite Store Comonads with Representable”

Here are some constraints GHC knows which are confusing it, perhaps they will make the direct problem clearer: tabulate :: (Rep (M.Map Coord) -> x) -> M.Map Coord x M.empty :: M.Map Coord x I think you may have better luck using a data structure like: data Stream a = Stream a (Stream a) data Tape w a = Tape (w a) a (w a) newtype Grid w a = Grid (Tape w (Tape w a)) Use `Stream` as your `w` when you want an infinite grid and `[]` otherwise. There is a great talk by Kenneth Foner which I revisit from time to time that covers this sort of thing: [video

u/kwefin r/haskell • Mentions

On “[Question] Solving names that refer to each other”

`<self-advertising type="blatant">` You might also be interested in another take on Löb's-theorem-as-fixed-point, which forms the heart of my current thesis project: https://github.com/kwf/ComonadSheet. I gave a talk about it at Boston Haskell: link to this video `</self-advertising>`

u/LionTamingAccountantin r/haskell • Mentions

On “Haskell Symposium 2015 Accepted Papers”

Thesis version of 'Getting a Quick Fix on Comonads' Related Boston Haskell meetup talk video