summaryrefslogtreecommitdiff
path: root/libraries/base/Foreign/Storable.hs
diff options
context:
space:
mode:
authorsimonmar <unknown>2001-06-28 14:15:04 +0000
committersimonmar <unknown>2001-06-28 14:15:04 +0000
commit4fb94ae5e5d632748fa2e6c35e259eccc5a1a3f4 (patch)
treedd5bc589e37efe68e84099180c16359a3acdb06b /libraries/base/Foreign/Storable.hs
downloadhaskell-4fb94ae5e5d632748fa2e6c35e259eccc5a1a3f4.tar.gz
[project @ 2001-06-28 14:15:04 by simonmar]
First cut of the Haskell Core Libraries ======================================= NOTE: it's not meant to be a working snapshot. The code is just here to look at and so the NHC/Hugs guys can start playing around with it. There is no build system. For GHC, the libraries tree is intended to be grafted onto an existing fptools/ tree, and the Makefile in libraries/core is a quick hack for that setup. This won't work at the moment without the other changes needed in fptools/ghc, which I haven't committed because they'll cause breakage. However, with the changes required these sources build a working Prelude and libraries. The layout mostly follows the one we agreed on, with one or two minor changes; in particular the Data/Array layout probably isn't final (there are several choices here). The document is in libraries/core/doc as promised. The cbits stuff is just a copy of ghc/lib/std/cbits and has GHC-specific stuff in it. We should really separate the compiler-specific C support from any compiler-independent C support there might be. Don't pay too much attention to the portability or stability status indicated in the header of each source file at the moment - I haven't gone through to make sure they're all consistent and make sense. I'm using non-literate source outside of GHC/. Hope that's ok with everyone. We need to discuss how the build system is going to work...
Diffstat (limited to 'libraries/base/Foreign/Storable.hs')
-rw-r--r--libraries/base/Foreign/Storable.hs33
1 files changed, 33 insertions, 0 deletions
diff --git a/libraries/base/Foreign/Storable.hs b/libraries/base/Foreign/Storable.hs
new file mode 100644
index 0000000000..118a1a35f8
--- /dev/null
+++ b/libraries/base/Foreign/Storable.hs
@@ -0,0 +1,33 @@
+{-# OPTIONS -fno-implicit-prelude #-}
+-----------------------------------------------------------------------------
+--
+-- Module : Foreign.Storable
+-- Copyright : (c) The FFI task force 2001
+-- License : BSD-style (see the file libraries/core/LICENSE)
+--
+-- Maintainer : ffi@haskell.org
+-- Stability : experimental
+-- Portability : non-portable
+--
+-- $Id: Storable.hs,v 1.1 2001/06/28 14:15:03 simonmar Exp $
+--
+-- A class for primitive marshaling
+--
+-----------------------------------------------------------------------------
+
+module Foreign.Storable
+ ( Storable(
+ sizeOf, -- :: a -> Int
+ alignment, -- :: a -> Int
+ peekElemOff, -- :: Ptr a -> Int -> IO a
+ pokeElemOff, -- :: Ptr a -> Int -> a -> IO ()
+ peekByteOff, -- :: Ptr b -> Int -> IO a
+ pokeByteOff, -- :: Ptr b -> Int -> a -> IO ()
+ peek, -- :: Ptr a -> IO a
+ poke, -- :: Ptr a -> a -> IO ()
+ destruct) -- :: Ptr a -> IO ()
+ ) where
+
+#ifdef __GLASGOW_HASKELL__
+import GHC.Storable
+#endif