Movatterモバイル変換


[0]ホーム

URL:


{-# LANGUAGE DeriveGeneric #-}{-# LANGUAGE GeneralizedNewtypeDeriving #-}{-# LANGUAGE NoImplicitPrelude #-}{-# LANGUAGE PolyKinds #-}{-# LANGUAGE ScopedTypeVariables #-}{-# LANGUAGE Trustworthy #-}------------------------------------------------------------------------------- |-- Module      :  Data.Functor.Const-- Copyright   :  Conor McBride and Ross Paterson 2005-- License     :  BSD-style (see the LICENSE file in the distribution)---- Maintainer  :  libraries@haskell.org-- Stability   :  experimental-- Portability :  portable-- The 'Const' functor.---- @since 4.9.0.0moduleData.Functor.Const(Const(..))whereimportData.Bits(Bits,FiniteBits)importData.Foldable(Foldable(foldMap))importForeign.Storable(Storable)importGHC.Arr(Ix)importGHC.BaseimportGHC.Enum(Bounded,Enum)importGHC.Float(Floating,RealFloat)importGHC.Generics(Generic,Generic1)importGHC.Num(Num)importGHC.Real(Fractional,Integral,Real,RealFrac)importGHC.Read(Read(readsPrec),readParen,lex)importGHC.Show(Show(showsPrec),showParen,showString)-- | The 'Const' functor.newtypeConstab=Const{getConst::a}deriving(Bits-- ^ @since 4.9.0.0,Bounded-- ^ @since 4.9.0.0,Enum-- ^ @since 4.9.0.0,Eq-- ^ @since 4.9.0.0,FiniteBits-- ^ @since 4.9.0.0,Floating-- ^ @since 4.9.0.0,Fractional-- ^ @since 4.9.0.0,Generic-- ^ @since 4.9.0.0,Generic1-- ^ @since 4.9.0.0,Integral-- ^ @since 4.9.0.0,Ix-- ^ @since 4.9.0.0,Semigroup-- ^ @since 4.9.0.0,Monoid-- ^ @since 4.9.0.0,Num-- ^ @since 4.9.0.0,Ord-- ^ @since 4.9.0.0,Real-- ^ @since 4.9.0.0,RealFrac-- ^ @since 4.9.0.0,RealFloat-- ^ @since 4.9.0.0,Storable-- ^ @since 4.9.0.0)-- | This instance would be equivalent to the derived instances of the-- 'Const' newtype if the 'runConst' field were removed---- @since 4.8.0.0instanceReada=>Read(Constab)wherereadsPrecd=readParen(d>10)$\r->[(Constx,t)|("Const",s)<-lexr,(x,t)<-readsPrec11s]-- | This instance would be equivalent to the derived instances of the-- 'Const' newtype if the 'runConst' field were removed---- @since 4.8.0.0instanceShowa=>Show(Constab)whereshowsPrecd(Constx)=showParen(d>10)$showString"Const ".showsPrec11x-- | @since 4.7.0.0instanceFoldable(Constm)wherefoldMap__=mempty-- | @since 2.01instanceFunctor(Constm)wherefmap_(Constv)=Constv-- | @since 2.0.1instanceMonoidm=>Applicative(Constm)wherepure_=ConstmemptyliftA2_(Constx)(Consty)=Const(x`mappend`y)(<*>)=coerce(mappend::m->m->m)-- This is pretty much the same as-- Const f <*> Const v = Const (f `mappend` v)-- but guarantees that mappend for Const a b will have the same arity-- as the one for a; it won't create a closure to raise the arity-- to 2.

[8]ページ先頭

©2009-2025 Movatter.jp