From bfa898e2c356ee8e7fcf99574ec3ac56407ae233 Mon Sep 17 00:00:00 2001 From: ross Date: Wed, 29 Sep 2004 10:29:15 +0000 Subject: [PATCH] [project @ 2004-09-29 10:29:13 by ross] haddock markup --- Data/Array/Storable.hs | 29 ++++++++++++++++------------- System/RawSystem.hs-inc | 6 +++--- Text/Html.hs | 3 +-- Text/Html/BlockTable.hs | 3 +-- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/Data/Array/Storable.hs b/Data/Array/Storable.hs index 39abe70..d336e34 100644 --- a/Data/Array/Storable.hs +++ b/Data/Array/Storable.hs @@ -10,35 +10,30 @@ -- -- A storable array is an IO-mutable array which stores its -- contents in a contiguous memory block living in the C --- heap. Elements are stored according to the class Storable. +-- heap. Elements are stored according to the class 'Storable'. -- You can obtain the pointer to the array contents to manipulate -- elements from languages like C. -- --- It's similar to IOUArray but slower. Its advantage is that --- it's compatible with C. +-- It is similar to 'Data.Array.IO.IOUArray' but slower. +-- Its advantage is that it's compatible with C. -- ----------------------------------------------------------------------------- module Data.Array.Storable ( - -- Array type: + -- * Arrays of 'Storable' things. StorableArray, -- data StorableArray index element -- -- index type must be in class Ix -- -- element type must be in class Storable - -- Module MArray provides the interface of storable arrays. - -- They are instances of class MArray (with IO monad). + -- * Overloaded mutable array interface + -- | Module "Data.Array.MArray" provides the interface of storable arrays. + -- They are instances of class 'MArray' (with the 'IO' monad). module Data.Array.MArray, - -- The pointer to the array contents is obtained by withStorableArray. - -- The idea is similar to ForeignPtr (used internally here). The - -- pointer should be used only during execution of the IO action - -- retured by the function passed as argument to withStorableArray: + -- * Accessing the pointer to the array contents withStorableArray, -- :: StorableArray i e -> (Ptr e -> IO a) -> IO a - -- If you want to use it afterwards, ensure that you - -- touchStorableArray after the last use of the pointer, - -- so the array is not freed too early: touchStorableArray -- :: StorableArray i e -> IO () ) where @@ -49,6 +44,7 @@ import Data.Array.Base import Data.Array.MArray import Foreign hiding (newArray) +-- |The array type data StorableArray i e = StorableArray !i !i !(ForeignPtr e) instance HasBounds StorableArray where @@ -74,8 +70,15 @@ instance Storable e => MArray StorableArray e IO where unsafeWrite (StorableArray _ _ fp) i e = withForeignPtr fp $ \a -> pokeElemOff a i e +-- |The pointer to the array contents is obtained by 'withStorableArray'. +-- The idea is similar to 'ForeignPtr' (used internally here). +-- The pointer should be used only during execution of the 'IO' action +-- retured by the function passed as argument to 'withStorableArray'. withStorableArray :: StorableArray i e -> (Ptr e -> IO a) -> IO a withStorableArray (StorableArray _ _ fp) f = withForeignPtr fp f +-- |If you want to use it afterwards, ensure that you +-- 'touchStorableArray' after the last use of the pointer, +-- so the array is not freed too early. touchStorableArray :: StorableArray i e -> IO () touchStorableArray (StorableArray _ _ fp) = touchForeignPtr fp diff --git a/System/RawSystem.hs-inc b/System/RawSystem.hs-inc index 3bac658..3927bff 100644 --- a/System/RawSystem.hs-inc +++ b/System/RawSystem.hs-inc @@ -8,15 +8,15 @@ ------------------------------------------------------------------------ {- | -The computation @rawSystem cmd args@ runs the operating system command +The computation @'rawSystem' cmd args@ runs the operating system command whose file name is @cmd@, passing it the arguments @args@. It bypasses the shell, so that @cmd@ should see precisely the argument strings @args@, with no funny escaping or shell meta-syntax expansion. (Unix users will recognise this behaviour as @execvp@, and indeed that's how it's implemented.) -It will therefore behave more portably between operating systems than @system@. +It will therefore behave more portably between operating systems than 'system'. -The return codes are the same as for @system@. +The return codes are the same as for 'system'. -} rawSystem :: FilePath -> [String] -> IO ExitCode diff --git a/Text/Html.hs b/Text/Html.hs index 2281e39..e3f8878 100644 --- a/Text/Html.hs +++ b/Text/Html.hs @@ -1,8 +1,7 @@ ----------------------------------------------------------------------------- -- | -- Module : Text.Html --- Copyright : (c) Andy Gill, and the Oregon Graduate Institute of --- Science and Technology, 1999-2001 +-- Copyright : (c) Andy Gill and OGI, 1999-2001 -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : Andy Gill diff --git a/Text/Html/BlockTable.hs b/Text/Html/BlockTable.hs index 49ce856..315fe02 100644 --- a/Text/Html/BlockTable.hs +++ b/Text/Html/BlockTable.hs @@ -1,8 +1,7 @@ ----------------------------------------------------------------------------- -- | -- Module : Text.Html.BlockTable --- Copyright : (c) Andy Gill, and the Oregon Graduate Institute of --- Science and Technology, 1999-2001 +-- Copyright : (c) Andy Gill and OGI, 1999-2001 -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : Andy Gill -- 1.7.10.4