-- Vendored from filepath v1.4.2.2{-# LANGUAGE CPP #-}
#if __GLASGOW_HASKELL__ >= 704
{-# LANGUAGE Safe #-}
#endif
{- |
Module : System.FilePath
Copyright : (c) Neil Mitchell 2005-2014
License : BSD3
Maintainer : ndmitchell@gmail.com
Stability : stable
Portability : portable
A library for 'FilePath' manipulations, using Posix or Windows filepaths
depending on the platform.
Both "System.FilePath.Posix" and "System.FilePath.Windows" provide the
same interface.
Given the example 'FilePath': @\/directory\/file.ext@
We can use the following functions to extract pieces.
* 'takeFileName' gives @\"file.ext\"@
* 'takeDirectory' gives @\"\/directory\"@
* 'takeExtension' gives @\".ext\"@
* 'dropExtension' gives @\"\/directory\/file\"@
* 'takeBaseName' gives @\"file\"@
And we could have built an equivalent path with the following expressions:
* @\"\/directory\" '</>' \"file.ext\"@.
* @\"\/directory\/file" '<.>' \"ext\"@.
* @\"\/directory\/file.txt" '-<.>' \"ext\"@.
Each function in this module is documented with several examples,
which are also used as tests.
Here are a few examples of using the @filepath@ functions together:
/Example 1:/ Find the possible locations of a Haskell module @Test@ imported from module @Main@:
@['replaceFileName' path_to_main \"Test\" '<.>' ext | ext <- [\"hs\",\"lhs\"] ]@
/Example 2:/ Download a file from @url@ and save it to disk:
@do let file = 'makeValid' url
 System.Directory.createDirectoryIfMissing True ('takeDirectory' file)@
/Example 3:/ Compile a Haskell file, putting the @.hi@ file under @interface@:
@'takeDirectory' file '</>' \"interface\" '</>' ('takeFileName' file '-<.>' \"hi\")@
References:
[1] <http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx Naming Files, Paths and Namespaces> (Microsoft MSDN)
-}
#if defined(mingw32_HOST_OS) || defined(__MINGW32__)
moduleSystem.FilePath(-- * Separator predicatesFilePath,pathSeparator,pathSeparators,isPathSeparator,searchPathSeparator,isSearchPathSeparator,extSeparator,isExtSeparator,-- * @$PATH@ methodssplitSearchPath,getSearchPath,-- * Extension functionssplitExtension,takeExtension,replaceExtension,(-<.>),dropExtension,addExtension,hasExtension,(<.>),splitExtensions,dropExtensions,takeExtensions,replaceExtensions,isExtensionOf,stripExtension,-- * Filename\/directory functionssplitFileName,takeFileName,replaceFileName,dropFileName,takeBaseName,replaceBaseName,takeDirectory,replaceDirectory,combine,(</>),splitPath,joinPath,splitDirectories,-- * Drive functionssplitDrive,joinDrive,takeDrive,hasDrive,dropDrive,isDrive,-- * Trailing slash functionshasTrailingPathSeparator,addTrailingPathSeparator,dropTrailingPathSeparator,-- * File name manipulationsnormalise,equalFilePath,makeRelative,isRelative,isAbsolute,isValid,makeValid)whereimportSystem.FilePath.Windows
#else
moduleSystem.FilePath (-- * Separator predicatesFilePath,pathSeparator ,pathSeparators ,isPathSeparator ,searchPathSeparator ,isSearchPathSeparator ,extSeparator ,isExtSeparator ,-- * @$PATH@ methodssplitSearchPath ,getSearchPath ,-- * Extension functionssplitExtension ,takeExtension ,replaceExtension ,(-<.>) ,dropExtension ,addExtension ,hasExtension ,(<.>) ,splitExtensions ,dropExtensions ,takeExtensions ,replaceExtensions ,isExtensionOf ,stripExtension ,-- * Filename\/directory functionssplitFileName ,takeFileName ,replaceFileName ,dropFileName ,takeBaseName ,replaceBaseName ,takeDirectory ,replaceDirectory ,combine ,(</>) ,splitPath ,joinPath ,splitDirectories ,-- * Drive functionssplitDrive ,joinDrive ,takeDrive ,hasDrive ,dropDrive ,isDrive ,-- * Trailing slash functionshasTrailingPathSeparator ,addTrailingPathSeparator ,dropTrailingPathSeparator ,-- * File name manipulationsnormalise ,equalFilePath ,makeRelative ,isRelative ,isAbsolute ,isValid ,makeValid )whereimportSystem.FilePath.Posix 
#endif

AltStyle によって変換されたページ (->オリジナル) /