GHC 8.0.1/base-4.9.0.0の新機能まとめ


GHC 8.0.1

base-4.9.0.0


ghc/changelog.md at ghc-8.0 · ghc/ghc · GitHubMonoid a => Monad ((,) a)Traversable ZipList

Semigroup


Data.Semigroup


Compose, Product, Sum, NonEmpty

MonadFail


failMonadMonad

*1

Applicative


forever, filterM, mapAndUnzipM, zipWithM, zipWithM_, replicateM, replicateM_, traceM, traceShowMMonadApplicative(*>)(>>)Applicative

ApplicativeDo


ApplicativeDof <$> foo <*> bar
dox<- foo
  y <- bar
  return (f x y)

MonadApplicative(FRPBehavior)

Strict / StrictData


StrictData!()

Strict

TypeError


GHC.TypeLitsGHC.TypeLits.TypeErrortype family TypeError (msg :: ErrorMessage) :: k使

OverloadedLabels


IsLabel
class IsLabel (x:: Symbol) a where
  fromLabel :: Proxy#x->a

OverloadedLabels#foo(fromLabel @"x" @alpha proxy#) (fromLabel (Proxy :: Proxy "x"))van Laarhoven lens(lensLens)

GenericsMeta


GHC.GenericsMetaM1
data Meta = MetaData Symbol Symbol Symbol Bool
          | MetaCons Symbol FixityI Bool
          | MetaSel  (Maybe Symbol)
                     SourceUnpackedness SourceStrictness DecidedStrictness

Generics


GADT

type family Tail (xs:: [k]) :: [k] where
  Tail (x ':xs) =xs


type family Tail (xs:: [k]) :: [k] where
  Tail (_ ':xs) =xs



type family F x y = a | a -> x, a ->y


ImplicitParams?callStack :: CallStack使ImplicitParameter