Copyright | 2011, Dan Knapp |
---|---|
Maintainer | cabal-devel@haskell.org |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
This simple package provides types and functions for interacting with C compilers. Currently it's just a type enumerating extant C-like languages, which we call dialects.
- data CDialect
- cSourceExtensions :: [String]
- cDialectFilenameExtension :: CDialect -> Bool -> String
- filenameCDialect :: String -> Maybe (CDialect, Bool)
Documentation
data CDialect
Represents a dialect of C. The Monoid instance expresses backward
compatibility, in the sense that 'mappend a b' is the least inclusive
dialect which both a
and b
can be correctly interpreted as.
cSourceExtensions :: [String]
A list of all file extensions which are recognized as possibly containing some dialect of C code. Note that this list is only for source files, not for header files.
cDialectFilenameExtension :: CDialect -> Bool -> String
Takes a dialect of C and whether code is intended to be passed through the preprocessor, and returns a filename extension for containing that code.
filenameCDialect :: String -> Maybe (CDialect, Bool)
Infers from a filename's extension the dialect of C which it contains, and whether it is intended to be passed through the preprocessor.