4.4. Meaningful file suffixes
Prev | Chapter 4. Using GHC | Next

## 4.4. Meaningful file suffixes

File names with “meaningful” suffixes (e.g., `.lhs` or `.o`) cause the “right thing” to happen to those files.

`.hs`

  A Haskell module.

`.lhs`

  A “literate Haskell” module.

`.hspp`

  A file created by the preprocessor.

`.hi`

  A Haskell interface file, probably compiler-generated.

`.hc`

  Intermediate C file produced by the Haskell compiler.

`.c`

  A C file not produced by the Haskell compiler.

`.ll`

  An llvm-intermediate-language source file, usually produced by the compiler.

`.bc`

  An llvm-intermediate-language bitcode file, usually produced by the compiler.

`.s`

  An assembly-language source file, usually produced by the compiler.

`.o`

  An object file, produced by an assembler.

Files with other suffixes (or without suffixes) are passed straight to the linker.

Prev | Up | Next
4.3. Static, Dynamic, and Mode options | Home | 4.5. Modes of operation