2 % (c) The GRASP/AQUA Project, Glasgow University, 1993-1994
4 \section[PackedString]{Packed strings}
6 A non-weird/abstract interface to the wired-in @PackedString@ type.
12 packString, -- :: [Char] -> PackedString
13 packCString, -- :: _Addr -> PackedString
14 packCBytes, -- :: Int -> _Addr -> PackedString
16 packStringST, -- :: [Char] -> _ST s PackedString
17 packCBytesST, -- :: Int -> _Addr -> _ST s PackedString
18 packBytesForC, -- :: [Char] -> _ByteArray Int
19 packBytesForCST, -- :: [Char] -> _ST s (_ByteArray Int)
22 nilPS, -- :: PackedString
23 consPS, -- :: Char -> PackedString -> PackedString
24 byteArrayToPS, -- :: _ByteArray Int -> PackedString
25 psToByteArray, -- :: PackedString -> _ByteArray Int
27 unpackPS, -- :: PackedString -> [Char]
29 putPS, -- :: _FILE -> PackedString -> PrimIO ()
30 getPS, -- :: _FILE -> Int -> PrimIO PackedString
32 {- alt. names for packString, unpackPS -}
33 implode, -- :: [Char] -> PackedString
34 explode, -- :: PackedString -> [Char]
36 headPS, -- :: PackedString -> Char
37 tailPS, -- :: PackedString -> PackedString
38 nullPS, -- :: PackedString -> Bool
39 appendPS, -- :: PackedString -> PackedString -> PackedString
40 lengthPS, -- :: PackedString -> Int
41 indexPS, -- :: PackedString -> Int -> Char
42 mapPS, -- :: (Char -> Char) -> PackedString -> PackedString
43 filterPS, -- :: (Char -> Bool) -> PackedString -> PackedString
44 foldlPS, -- :: (a -> Char -> a) -> a -> PackedString -> a
45 foldrPS, -- :: (Char -> a -> a) -> a -> PackedString -> a
46 takePS, -- :: Int -> PackedString -> PackedString
47 dropPS, -- :: Int -> PackedString -> PackedString
48 splitAtPS, -- :: Int -> PackedString -> PackedString
49 takeWhilePS, -- :: (Char -> Bool) -> PackedString -> PackedString
50 dropWhilePS, -- :: (Char -> Bool) -> PackedString -> PackedString
51 spanPS, -- :: (Char -> Bool) -> PackedString -> (PackedString, PackedString)
52 breakPS, -- :: (Char -> Bool) -> PackedString -> (PackedString, PackedString)
53 linesPS, -- :: PackedString -> [PackedString]
54 wordsPS, -- :: PackedString -> [PackedString]
55 reversePS, -- :: PackedString -> PackedString
56 concatPS, -- :: [PackedString] -> PackedString
58 substrPS, -- :: PackedString -> Int -> Int -> PackedString
60 -- to make interface self-sufficient
61 _PackedString, -- abstract!
67 type PackedString = _PackedString
69 packString = _packString
70 packCString = _packCString
72 packCBytes = _packCBytes
73 --packStringForC = _packStringForC
76 byteArrayToPS = _byteArrayToPS
77 psToByteArray = _psToByteArray
79 packStringST = _packStringST
80 packCBytesST = _packCBytesST
81 packBytesForC = _packBytesForC
82 packBytesForCST = _packBytesForCST
88 implode = _packString -- alt. names
103 splitAtPS = _splitAtPS
104 takeWhilePS = _takeWhilePS
105 dropWhilePS = _dropWhilePS
110 reversePS = _reversePS