semantics monad

class (Functor f, Monad m) => MonadSem f m | m -> f wheren
  lazily :: m a -> m (f a)
  force :: f a -> m a
  -- fmap (fmap f) . lazily = lazily . fmap f
  -- fmap lazily . lazily = lazily . lazily
  -- lazily . pure = pure . pure
  -- join . lazily = id

Author: Nicholas Coltharp

Created: 2026-04-05 Sun 00:01

Validate