Cabal- A framework for packaging Haskell software

Copyright2011 Dan Knapp
Safe HaskellNone



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 Source #

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.

Eq CDialect Source # 
Instance details
Show CDialect Source # 
Instance details
Semigroup CDialect Source # 
Instance details
Monoid CDialect Source # 
Instance details

cSourceExtensions :: [String] Source #

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 Source #

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) Source #

Infers from a filename's extension the dialect of C which it contains, and whether it is intended to be passed through the preprocessor.