[[project @ 2000-01-05 11:06:23 by rrt] rrt**20000105110624 Documentation changed from LinuxDoc to DocBook format, and license added to the user guide. ] { hunk ./ghc/docs/users_guide/ByteArray.sgml 1 -The -

-ByteArray interface (GHC extensions) + +The ByteArray +<IndexTerm><Primary>ByteArray</Primary></IndexTerm> +interface + hunk ./ghc/docs/users_guide/ByteArray.sgml 7 - +ByteArray interface (GHC extensions) + hunk ./ghc/docs/users_guide/ByteArray.sgml 11 - + +ByteArrays are chunks of immutable Haskell heap: + + + + + hunk ./ghc/docs/users_guide/ByteArray.sgml 21 -newByteArray :: Ix ix => (ix,ix) -> ST s (ByteArray ix) +newByteArray :: Ix ix => (ix,ix) -> ST s (ByteArray ix) + +indexCharArray :: Ix ix => ByteArray ix -> ix -> Char +indexIntArray :: Ix ix => ByteArray ix -> ix -> Int +indexAddrArray :: Ix ix => ByteArray ix -> ix -> Addr +indexFloatArray :: Ix ix => ByteArray ix -> ix -> Float +indexDoubleArray :: Ix ix => ByteArray ix -> ix -> Double + +sizeofByteArray :: Ix ix => ByteArray ix -> Int + + +newByteArray +indexCharArray +indexIntArray +indexAddrArray +indexFloatArray +indexDoubleArray +indexDoubleArray +sizeofByteArray + hunk ./ghc/docs/users_guide/ByteArray.sgml 42 -indexCharArray :: Ix ix => ByteArray ix -> ix -> Char -indexIntArray :: Ix ix => ByteArray ix -> ix -> Int -indexAddrArray :: Ix ix => ByteArray ix -> ix -> Addr -indexFloatArray :: Ix ix => ByteArray ix -> ix -> Float -indexDoubleArray :: Ix ix => ByteArray ix -> ix -> Double + +Remarks: + hunk ./ghc/docs/users_guide/ByteArray.sgml 46 -sizeofByteArray :: Ix ix => ByteArray ix -> Int - - hunk ./ghc/docs/users_guide/ByteArray.sgml 48 - + hunk ./ghc/docs/users_guide/ByteArray.sgml 51 - - -The operation - +The operation newByteArray creates a byte array of length +equal to the range of its indices in bytes. + + + hunk ./ghc/docs/users_guide/ByteArray.sgml 58 - + +sizeofByteArray returns the size of the byte array, in bytes. + + + + + + hunk ./ghc/docs/users_guide/ByteArray.sgml 70 - + + + + + + + + hunk ./ghc/docs/users_guide/Makefile 7 - -# Split up the pages on a per-sect2 basis. Big HTML docs -# are a pain to flick through and use. -SRC_SGML2HTML_OPTS += -s 1 hunk ./ghc/docs/users_guide/MutableArray.sgml 1 - -

+ +MutableArray +<IndexTerm><Primary>MutableArray</Primary></IndexTerm> + hunk ./ghc/docs/users_guide/MutableArray.sgml 6 -The +The MutableArray interface provide operations for reading and hunk ./ghc/docs/users_guide/MutableArray.sgml 9 -mutable arrays, the mutatable version of Haskell Arrays +and mutable byte arrays, chunks of memory containing +values of some basic type. + hunk ./ghc/docs/users_guide/MutableArray.sgml 14 - -

+ +Mutable arrays +<IndexTerm><Primary>Mutable arrays</Primary></IndexTerm> + hunk ./ghc/docs/users_guide/MutableArray.sgml 19 + hunk ./ghc/docs/users_guide/MutableArray.sgml 22 + hunk ./ghc/docs/users_guide/MutableArray.sgml 24 - + + hunk ./ghc/docs/users_guide/MutableArray.sgml 28 -newArray :: Ix ix -> (ix,ix) -> elt -> ST s (MutableArray s ix elt) -boundsOfArray :: Ix ix => MutableArray s ix elt -> (ix, ix) -readArray :: Ix ix => MutableArray s ix elt -> ix -> ST s elt -writeArray :: Ix ix => MutableArray s ix elt -> ix -> elt -> ST s () -freezeArray :: Ix ix => MutableArray s ix elt -> ST s (Array ix elt) -thawArray :: Ix ix => Array ix elt -> ST s (MutableArray s ix elt) +newArray :: Ix ix -> (ix,ix) -> elt -> ST s (MutableArray s ix elt) +boundsOfArray :: Ix ix => MutableArray s ix elt -> (ix, ix) +readArray :: Ix ix => MutableArray s ix elt -> ix -> ST s elt +writeArray :: Ix ix => MutableArray s ix elt -> ix -> elt -> ST s () +freezeArray :: Ix ix => MutableArray s ix elt -> ST s (Array ix elt) +thawArray :: Ix ix => Array ix elt -> ST s (MutableArray s ix elt) hunk ./ghc/docs/users_guide/MutableArray.sgml 35 -unsafeFreezeArray :: Ix ix => MutableArray s ix elt -> ST s (Array ix elt) -unsafeThawArray :: Ix ix => Array ix elt -> ST s (MutableArray s ix elt) - -newArray -boundsOfArray -readArray -writeArray -freezeArray -thawArray -unsafeFreezeArray -unsafeThawArray +unsafeFreezeArray :: Ix ix => MutableArray s ix elt -> ST s (Array ix elt) +unsafeThawArray :: Ix ix => Array ix elt -> ST s (MutableArray s ix elt) + hunk ./ghc/docs/users_guide/MutableArray.sgml 39 -newArray +boundsOfArray +readArray +writeArray +freezeArray +thawArray +unsafeFreezeArray +unsafeThawArray + hunk ./ghc/docs/users_guide/MutableArray.sgml 49 - - -The +Remarks: + + + + + + + + +The freezeArray action converts a mutable array into an +immutable one by copying, whereas unsafeFreezeArray returns hunk ./ghc/docs/users_guide/MutableArray.sgml 66 - -The operation + + + + +The operation thawArray goes the other way, converting +an immutable Array into a mutable one. This is done by +copying. The operation unsafeThawArray is also provided, hunk ./ghc/docs/users_guide/MutableArray.sgml 75 -as +as unsafeFreezeArray does. + + + + hunk ./ghc/docs/users_guide/MutableArray.sgml 81 - -

+ hunk ./ghc/docs/users_guide/MutableArray.sgml 83 - + + + +Mutable byte arrays +<IndexTerm><Primary>Mutable byte arrays</Primary></IndexTerm> + + + + hunk ./ghc/docs/users_guide/MutableArray.sgml 93 -newCharArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) -newAddrArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) -newIntArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) -newWordArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) -newFloatArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) -newDoubleArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) -newStablePtrArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) +newCharArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) +newAddrArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) +newIntArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) +newWordArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) +newFloatArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) +newDoubleArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) +newStablePtrArray :: Ix ix => (ix,ix) -> ST s (MutableByteArray s ix) + +boundsOfMutableByteArray + :: Ix ix => MutableByteArray s ix -> (ix, ix) hunk ./ghc/docs/users_guide/MutableArray.sgml 104 -boundsOfMutableByteArray - :: Ix ix => MutableByteArray s ix -> (ix, ix) +readCharArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Char +readIntArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Int +readAddrArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Addr +readFloatArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Float +readDoubleArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Double +readStablePtrArray :: Ix ix => MutableByteArray s ix -> ix -> ST s (StablePtr a) +readWord8Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word8 +readWord16Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word16 +readWord32Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word32 +readWord64Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word64 +readInt8Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int8 +readInt16Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int16 +readInt32Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int32 +readInt64Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int64 hunk ./ghc/docs/users_guide/MutableArray.sgml 119 -readCharArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Char -readIntArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Int -readAddrArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Addr -readFloatArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Float -readDoubleArray :: Ix ix => MutableByteArray s ix -> ix -> ST s Double -readStablePtrArray :: Ix ix => MutableByteArray s ix -> ix -> ST s (StablePtr a) -readWord8Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word8 -readWord16Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word16 -readWord32Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word32 -readWord64Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Word64 -readInt8Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int8 -readInt16Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int16 -readInt32Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int32 -readInt64Array :: Ix ix => MutableByteArray s ix -> ix -> ST s Int64 +writeCharArray :: Ix ix => MutableByteArray s ix -> ix -> Char -> ST s () +writeIntArray :: Ix ix => MutableByteArray s ix -> ix -> Int -> ST s () +writeAddrArray :: Ix ix => MutableByteArray s ix -> ix -> Addr -> ST s () +writeFloatArray :: Ix ix => MutableByteArray s ix -> ix -> Float -> ST s () +writeDoubleArray :: Ix ix => MutableByteArray s ix -> ix -> Double -> ST s () +writeStablePtrArray :: Ix ix => MutableByteArray s ix -> ix -> StablePtr a -> ST s () +writeWord8Array :: Ix ix => MutableByteArray s ix -> ix -> Word8 -> ST s () +writeWord16Array :: Ix ix => MutableByteArray s ix -> ix -> Word16 -> ST s () +writeWord32Array :: Ix ix => MutableByteArray s ix -> ix -> Word32 -> ST s () +writeWord64Array :: Ix ix => MutableByteArray s ix -> ix -> Word64 -> ST s () +writeInt8Array :: Ix ix => MutableByteArray s ix -> ix -> Int8 -> ST s () +writeInt16Array :: Ix ix => MutableByteArray s ix -> ix -> Int16 -> ST s () +writeInt32Array :: Ix ix => MutableByteArray s ix -> ix -> Int32 -> ST s () +writeInt64Array :: Ix ix => MutableByteArray s ix -> ix -> Int64 -> ST s () hunk ./ghc/docs/users_guide/MutableArray.sgml 134 -writeCharArray :: Ix ix => MutableByteArray s ix -> ix -> Char -> ST s () -writeIntArray :: Ix ix => MutableByteArray s ix -> ix -> Int -> ST s () -writeAddrArray :: Ix ix => MutableByteArray s ix -> ix -> Addr -> ST s () -writeFloatArray :: Ix ix => MutableByteArray s ix -> ix -> Float -> ST s () -writeDoubleArray :: Ix ix => MutableByteArray s ix -> ix -> Double -> ST s () -writeStablePtrArray :: Ix ix => MutableByteArray s ix -> ix -> StablePtr a -> ST s () -writeWord8Array :: Ix ix => MutableByteArray s ix -> ix -> Word8 -> ST s () -writeWord16Array :: Ix ix => MutableByteArray s ix -> ix -> Word16 -> ST s () -writeWord32Array :: Ix ix => MutableByteArray s ix -> ix -> Word32 -> ST s () -writeWord64Array :: Ix ix => MutableByteArray s ix -> ix -> Word64 -> ST s () -writeInt8Array :: Ix ix => MutableByteArray s ix -> ix -> Int8 -> ST s () -writeInt16Array :: Ix ix => MutableByteArray s ix -> ix -> Int16 -> ST s () -writeInt32Array :: Ix ix => MutableByteArray s ix -> ix -> Int32 -> ST s () -writeInt64Array :: Ix ix => MutableByteArray s ix -> ix -> Int64 -> ST s () +freezeCharArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) +freezeIntArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) +freezeAddrArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) +freezeFloatArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) +freezeDoubleArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) +freezeStablePtrArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) hunk ./ghc/docs/users_guide/MutableArray.sgml 141 -freezeCharArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) -freezeIntArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) -freezeAddrArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) -freezeFloatArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) -freezeDoubleArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) -freezeStablePtrArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) +unsafeFreezeByteArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) hunk ./ghc/docs/users_guide/MutableArray.sgml 143 -unsafeFreezeByteArray :: Ix ix => MutableByteArray s ix -> ST s (ByteArray ix) +sizeofMutableByteArray :: Ix ix => MutableByteArray s ix -> Int hunk ./ghc/docs/users_guide/MutableArray.sgml 145 -sizeofMutableByteArray :: Ix ix => MutableByteArray s ix -> Int +thawByteArray :: Ix ix => ByteArray ixt -> ST s (MutableByteArray s ix) +unsafeThawByteArray :: Ix ix => ByteArray ixt -> ST s (MutableByteArray s ix) + hunk ./ghc/docs/users_guide/MutableArray.sgml 149 -thawByteArray :: Ix ix => ByteArray ixt -> ST s (MutableByteArray s ix) -unsafeThawByteArray :: Ix ix => ByteArray ixt -> ST s (MutableByteArray s ix) +newCharArray +newAddrArray +newIntArray +newFloatArray +newDoubleArray +boundsOfMutableByteArray +readCharArray +readIntArray +readAddrArray +readFloatArray +readDoubleArray +readWord8Array +readWord16Array +readWord32Array +readWord64Array +readInt8Array +readInt16Array +readInt32Array +readInt64Array +writeCharArray +writeIntArray +writeAddrArray +writeFloatArray +writeDoubleArray +writeWord8Array +writeWord16Array +writeWord32Array +writeWord64Array +writeInt8Array +writeInt16Array +writeInt32Array +writeInt64Array +freezeCharArray +freezeIntArray +freezeAddrArray +freezeFloatArray +freezeDoubleArray +unsafeFreezeByteArray +unsafeThawByteArray +thawByteArray + hunk ./ghc/docs/users_guide/MutableArray.sgml 191 - -newCharArray -newAddrArray -newIntArray -newFloatArray -newDoubleArray -boundsOfMutableByteArray -readCharArray -readIntArray -readAddrArray -readFloatArray -readDoubleArray -readWord8Array -readWord16Array -readWord32Array -readWord64Array -readInt8Array -readInt16Array -readInt32Array -readInt64Array -writeCharArray -writeIntArray -writeAddrArray -writeFloatArray -writeDoubleArray -writeWord8Array -writeWord16Array -writeWord32Array -writeWord64Array -writeInt8Array -writeInt16Array -writeInt32Array -writeInt64Array -freezeCharArray -freezeIntArray -freezeAddrArray -freezeFloatArray -freezeDoubleArray -unsafeFreezeByteArray -unsafeThawByteArray -thawByteArray + +Remarks: hunk ./ghc/docs/users_guide/MutableArray.sgml 194 - - + + + + hunk ./ghc/docs/users_guide/MutableArray.sgml 201 - - mkPair :: ST s (MutableByteArray s Int) - mkPair = newIntArray (0,1) - hunk ./ghc/docs/users_guide/MutableArray.sgml 202 -creates a mutable array capable of storing two +mkPair :: ST s (MutableByteArray s Int) +mkPair = newIntArray (0,1) + + + +creates a mutable array capable of storing two Ints. Notice +that the range size is not in bytes, but in units of the hunk ./ghc/docs/users_guide/MutableArray.sgml 212 - + + + + + hunk ./ghc/docs/users_guide/MutableArray.sgml 223 - - isLitteEndian :: IO Bool - isLitteEndian = stToIO $ do - x <- newIntArray (0,1) - writeIntArray x 1 - v <- readCharArray x 0 - return (v == chr 1) - + +isLitteEndian :: IO Bool +isLitteEndian = stToIO $ do + x <- newIntArray (0,1) + writeIntArray x 1 + v <- readCharArray x 0 + return (v == chr 1) + + hunk ./ghc/docs/users_guide/MutableArray.sgml 237 - + + + + hunk ./ghc/docs/users_guide/MutableArray.sgml 242 -into immutable byte arrays are also provided by the freeze* hunk ./ghc/docs/users_guide/MutableArray.sgml 244 - - +unsafeFreezeByteArray. + + + + + hunk ./ghc/docs/users_guide/MutableArray.sgml 251 -array is 'thawed' are also provided. thawByteArray does +this by copying, whereas unsafeThawByteArray does not + + + + + + +The operation sizeofMutableByteArray returns the size of +the array, in bytes. + + + + + + + + hunk ./ghc/docs/users_guide/MutableArray.sgml 270 - -The operation + hunk ./ghc/docs/users_guide/win32-dlls.sgml 1 -%************************************************************************ -%* * -Building and using Win32 DLLs -

-Dynamic link libraries, Win32 -DLLs, Win32 -%* * -%************************************************************************ + +Building and using Win32 DLLs + hunk ./ghc/docs/users_guide/win32-dlls.sgml 5 + +Dynamic link libraries, Win32 +DLLs, Win32 hunk ./ghc/docs/users_guide/win32-dlls.sgml 11 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 13 -%************************************************************************ -%* * -Linking with DLLs -

-%* * -%************************************************************************ + +Linking with DLLs + hunk ./ghc/docs/users_guide/win32-dlls.sgml 17 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 22 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 24 - + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 38 - + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 42 -will give you a binary as before, but the main.exe generated + +will give you a binary as before, but the main.exe generated hunk ./ghc/docs/users_guide/win32-dlls.sgml 45 + + + +6K for a "hello, world" application - not bad, huh? :-) + hunk ./ghc/docs/users_guide/win32-dlls.sgml 51 -6K for a "hello, world" application - not bad, huh? :-) + hunk ./ghc/docs/users_guide/win32-dlls.sgml 53 -%************************************************************************ -%* * -Not linking with DLLs -

-%* * -%************************************************************************ + +Not linking with DLLs +<IndexTerm><Primary>-static option (Win32)</Primary></IndexTerm> hunk ./ghc/docs/users_guide/win32-dlls.sgml 57 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 59 -ghc-compiled DLLs, use the -static option to link in +ghc-compiled DLLs, use the -static option to link in hunk ./ghc/docs/users_guide/win32-dlls.sgml 61 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 63 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 65 --static and not, so you have to use the -static +-static and not, so you have to use the -static hunk ./ghc/docs/users_guide/win32-dlls.sgml 67 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 69 -%************************************************************************ -%* * -Creating a DLL -

-Creating a Win32 DLL ---mk-dll -%* * -%************************************************************************ + hunk ./ghc/docs/users_guide/win32-dlls.sgml 71 + +Creating a DLL + + + +Creating a Win32 DLL +--mk-dll hunk ./ghc/docs/users_guide/win32-dlls.sgml 81 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 83 - + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 86 - + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 89 -By feeding the ghc compiler driver the option --mk-dll, it + +By feeding the ghc compiler driver the option --mk-dll, it hunk ./ghc/docs/users_guide/win32-dlls.sgml 94 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 96 + hunk ./ghc/docs/users_guide/win32-dlls.sgml 98 + + + + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 105 - - -When compiling the module A, the code emitted by the compiler + +When compiling the module A, the code emitted by the compiler hunk ./ghc/docs/users_guide/win32-dlls.sgml 112 - - + + + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 122 - + + + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 128 -dLL_ifs.hi, the code corresponding to the interface +dLL_ifs.hi, the code corresponding to the interface hunk ./ghc/docs/users_guide/win32-dlls.sgml 134 -interface file live in the same directory, and that directory -also contains the file dLL_ifs.hi, the import is still not +interface file live in the same directory, and that directory +also contains the file dLL_ifs.hi, the import is still not hunk ./ghc/docs/users_guide/win32-dlls.sgml 138 - -If compiling with the option -static, the previous rule + + + + + +If compiling with the option -static, the previous rule hunk ./ghc/docs/users_guide/win32-dlls.sgml 145 - + + + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 152 -create the file dLL_ifs.hi in the directory that contains +create the file dLL_ifs.hi in the directory that contains hunk ./ghc/docs/users_guide/win32-dlls.sgml 157 - + + + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 163 -be exported from the DLL when using --mk-dll. Should you want -to constrain this, you can specify the module definition file +be exported from the DLL when using --mk-dll. Should you want +to constrain this, you can specify the module definition file hunk ./ghc/docs/users_guide/win32-dlls.sgml 167 - + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 170 - + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 177 - + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 184 + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 187 - + + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 191 - -In addition to creating a DLL, the --mk-dll option will also + +In addition to creating a DLL, the --mk-dll option will also hunk ./ghc/docs/users_guide/win32-dlls.sgml 196 - - DLL: HScool.dll ==> import lib: libHScool_imp.a - + +DLL: HScool.dll ==> import lib: libHScool_imp.a + + hunk ./ghc/docs/users_guide/win32-dlls.sgml 203 -libraries (e.g., libHSfoo.a and libHSfoo_imp.a. +libraries (e.g., libHSfoo.a and libHSfoo_imp.a. hunk ./ghc/docs/users_guide/win32-dlls.sgml 206 -it will rewrite occurrence of -lHSfoo on the command line to --lHSfoo_imp. By doing this for you, switching from non-static -to static linking is simply a question of adding -static to +it will rewrite occurrence of -lHSfoo on the command line to +-lHSfoo_imp. By doing this for you, switching from non-static +to static linking is simply a question of adding -static to hunk ./ghc/docs/users_guide/win32-dlls.sgml 211 - + + + + + + + + + + }