a one dimensional cellular automata, using comonads
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

13 linhas
255B

  1. module Comonad where
  2. -------------------
  3. -- comonad class --
  4. -------------------
  5. class Functor w => Comonad w
  6. where
  7. (=>>) :: w a -> (w a -> b) -> w b
  8. extract :: w a -> a
  9. duplicate :: w a -> w (w a)
  10. x =>> f = fmap f (duplicate x)