Movatterモバイル変換


[0]ホーム

URL:


{-# LANGUAGE Trustworthy #-}{-# LANGUAGE CPP, NoImplicitPrelude, BangPatterns #-}------------------------------------------------------------------------------- |-- Module      :  Prelude-- Copyright   :  (c) The University of Glasgow 2001-- License     :  BSD-style (see the file libraries/base/LICENSE)---- Maintainer  :  libraries@haskell.org-- Stability   :  stable-- Portability :  portable---- The Prelude: a standard module imported by default into all Haskell-- modules.  For more documentation, see the Haskell 98 Report-- <http://www.haskell.org/onlinereport/>.-------------------------------------------------------------------------------modulePrelude(-- * Standard types, classes and related functions-- ** Basic data typesBool(False,True),(&&),(||),not,otherwise,Maybe(Nothing,Just),maybe,Either(Left,Right),either,Ordering(LT,EQ,GT),Char,String,-- *** Tuplesfst,snd,curry,uncurry,#if defined(__NHC__)[]((:),[]),-- Not legal Haskell 98;-- ... available through built-in syntaxmoduleData.Tuple,-- Includes tuple types()(..),-- Not legal Haskell 98(->),-- ... available through built-in syntax#endif#ifdef __HUGS__(:),-- Not legal Haskell 98#endif-- ** Basic type classesEq((==),(/=)),Ord(compare,(<),(<=),(>=),(>),max,min),Enum(succ,pred,toEnum,fromEnum,enumFrom,enumFromThen,enumFromTo,enumFromThenTo),Bounded(minBound,maxBound),-- ** Numbers-- *** Numeric typesInt,Integer,Float,Double,Rational,-- *** Numeric type classesNum((+),(-),(*),negate,abs,signum,fromInteger),Real(toRational),Integral(quot,rem,div,mod,quotRem,divMod,toInteger),Fractional((/),recip,fromRational),Floating(pi,exp,log,sqrt,(**),logBase,sin,cos,tan,asin,acos,atan,sinh,cosh,tanh,asinh,acosh,atanh),RealFrac(properFraction,truncate,round,ceiling,floor),RealFloat(floatRadix,floatDigits,floatRange,decodeFloat,encodeFloat,exponent,significand,scaleFloat,isNaN,isInfinite,isDenormalized,isIEEE,isNegativeZero,atan2),-- *** Numeric functionssubtract,even,odd,gcd,lcm,(^),(^^),fromIntegral,realToFrac,-- ** Monads and functorsMonad((>>=),(>>),return,fail),Functor(fmap),mapM,mapM_,sequence,sequence_,(=<<),-- ** Miscellaneous functionsid,const,(.),flip,($),until,asTypeOf,error,undefined,seq,($!),-- * List operationsmap,(++),filter,head,last,tail,init,null,length,(!!),reverse,-- ** Reducing lists (folds)foldl,foldl1,foldr,foldr1,-- *** Special foldsand,or,any,all,sum,product,concat,concatMap,maximum,minimum,-- ** Building lists-- *** Scansscanl,scanl1,scanr,scanr1,-- *** Infinite listsiterate,repeat,replicate,cycle,-- ** Subliststake,drop,splitAt,takeWhile,dropWhile,span,break,-- ** Searching listselem,notElem,lookup,-- ** Zipping and unzipping listszip,zip3,zipWith,zipWith3,unzip,unzip3,-- ** Functions on stringslines,words,unlines,unwords,-- * Converting to and from @String@-- ** Converting to @String@ShowS,Show(showsPrec,showList,show),shows,showChar,showString,showParen,-- ** Converting from @String@ReadS,Read(readsPrec,readList),reads,readParen,read,lex,-- * Basic Input and outputIO,-- ** Simple I\/O operations-- All I/O functions defined here are character oriented.  The-- treatment of the newline character will vary on different systems.-- For example, two characters of input, return and linefeed, may-- read as a single newline character.  These functions cannot be-- used portably for binary I/O.-- *** Output functionsputChar,putStr,putStrLn,print,-- *** Input functionsgetChar,getLine,getContents,interact,-- *** FilesFilePath,readFile,writeFile,appendFile,readIO,readLn,-- ** Exception handling in the I\/O monadIOError,ioError,userError,catch)where#ifndef __HUGS__importControl.MonadimportSystem.IOimportSystem.IO.ErrorimportData.ListimportData.EitherimportData.MaybeimportData.Tuple#endif#ifdef __GLASGOW_HASKELL__importGHC.BaseimportText.ReadimportGHC.EnumimportGHC.NumimportGHC.RealimportGHC.FloatimportGHC.ShowimportGHC.Err(undefined)#endif#ifdef __HUGS__importHugs.Prelude#endif#ifndef __HUGS__infixr0$!#endif-- ------------------------------------------------------------------------------- Miscellaneous functions-- | Strict (call-by-value) application, defined in terms of 'seq'.($!)::(a->b)->a->b#ifdef __GLASGOW_HASKELL__f$!x=let!vx=xinfvx-- see #2273#elif !defined(__HUGS__)f$!x=x`seq`fx#endif#ifdef __HADDOCK__-- | The value of @'seq' a b@ is bottom if @a@ is bottom, and otherwise-- equal to @b@.  'seq' is usually introduced to improve performance by-- avoiding unneeded laziness.seq::a->b->bseq_y=y#endif

[8]ページ先頭

©2009-2025 Movatter.jp