TCache 0.6.4 → 0.6.5
raw patch · 30 files changed
+1/−12415 lines, 30 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- IDE.session +0/−15
- TCache.cabal +1/−1
- demos/DynamicSample.hs +0/−71
- demos/Sample.hs +0/−102
- demos/Sample2.hs +0/−67
- dist/build/autogen/Paths_TCache.hs +0/−29
- dist/build/autogen/cabal_macros.h +0/−38
- dist/doc/html/TCache/Data-TCache-Dynamic.html +0/−2627
- dist/doc/html/TCache/Data-TCache-IDynamic.html +0/−672
- dist/doc/html/TCache/Data-TCache-IResource.html +0/−844
- dist/doc/html/TCache/Data-TCache-TMVar-Dynamic.html +0/−2232
- dist/doc/html/TCache/Data-TCache-TMVar.html +0/−1463
- dist/doc/html/TCache/Data-TCache.html +0/−1803
- dist/doc/html/TCache/TCache.haddock binary
- dist/doc/html/TCache/doc-index.html +0/−1166
- dist/doc/html/TCache/frames.html +0/−27
- dist/doc/html/TCache/haddock-util.js +0/−139
- dist/doc/html/TCache/haddock.css +0/−297
- dist/doc/html/TCache/haskell_icon.gif binary
- dist/doc/html/TCache/index-frames.html +0/−37
- dist/doc/html/TCache/index.html +0/−211
- dist/doc/html/TCache/mini_Data-TCache-Dynamic.html +0/−149
- dist/doc/html/TCache/mini_Data-TCache-IDynamic.html +0/−43
- dist/doc/html/TCache/mini_Data-TCache-IResource.html +0/−49
- dist/doc/html/TCache/mini_Data-TCache-TMVar-Dynamic.html +0/−137
- dist/doc/html/TCache/mini_Data-TCache-TMVar.html +0/−87
- dist/doc/html/TCache/mini_Data-TCache.html +0/−107
- dist/doc/html/TCache/minus.gif binary
- dist/doc/html/TCache/plus.gif binary
- dist/setup-config +0/−2
− IDE.session
@@ -1,15 +0,0 @@-Time of storage: - "Wed Sep 23 23:57:43 Hora de verano romance 2009" -Layout: VerticalP (HorizontalP (TerminalP {paneGroups = fromList [], paneTabs = Just TopP, currentPage = 0, detachedId = Nothing, detachedSize = Nothing}) (TerminalP {paneGroups = fromList [], paneTabs = Just TopP, currentPage = -1, detachedId = Nothing, detachedSize = Nothing}) 420) (HorizontalP (TerminalP {paneGroups = fromList [("Debug",HorizontalP (TerminalP {paneGroups = fromList [], paneTabs = Nothing, currentPage = 0, detachedId = Nothing, detachedSize = Nothing}) (TerminalP {paneGroups = fromList [], paneTabs = Just RightP, currentPage = 0, detachedId = Nothing, detachedSize = Nothing}) 109)], paneTabs = Just BottomP, currentPage = 1, detachedId = Nothing, detachedSize = Nothing}) (TerminalP {paneGroups = fromList [], paneTabs = Just BottomP, currentPage = 1, detachedId = Nothing, detachedSize = Nothing}) 234) 680 -Population: [(Just (BreakpointsSt BreakpointsState),[SplitP RightP,SplitP TopP,GroupP "Debug",SplitP BottomP]),(Just (ErrorsSt ErrorsState),[SplitP RightP,SplitP TopP,GroupP "Debug",SplitP BottomP]),(Just (BufferSt (BufferState "C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\Data\\TCache\\IResource.hs" 2503)),[SplitP LeftP,SplitP TopP]),(Just (InfoSt (InfoState (Descr {descrName' = "showHex", typeInfo' = "showHex :: forall a. Integral a => a -> ShowS\n", descrModu' = PM {pack = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}}, modu = ModuleName ["Numeric"]}, mbLocation' = Nothing, mbComment' = Nothing, details' = VariableDescr}))),[SplitP RightP,SplitP BottomP]),(Just (LogSt LogState),[SplitP RightP,SplitP BottomP]),(Just (ModulesSt (ModulesState 195 (System,True) (Nothing,Nothing) (ExpanderState {localExp = ([],[]), localExpNoBlack = ([[5,16],[5,13],[5,1],[5],[4,0,1],[4,0,0],[4,0],[4],[1,0],[1],[0]],[]), packageExp = ([[4],[0]],[]), packageExpNoBlack = ([],[]), systemExp = ([],[]), systemExpNoBlack = ([],[])}))),[SplitP RightP,SplitP BottomP]),(Just (ReferencesSt (ReferencesState {refTo = Just (Descr {descrName' = "multisetEditor", typeInfo' = "multisetEditor :: forall alpha.\n (Show alpha, Default alpha, Eq alpha) =>\n ColumnDescr alpha\n -> (Editor alpha, Parameters)\n -> Maybe ([alpha] -> [alpha])\n -> Maybe (alpha -> alpha -> Bool)\n -> Editor [alpha]\n", descrModu' = PM {pack = PackageIdentifier {pkgName = PackageName "leksah", pkgVersion = Version {versionBranch = [0,5,0], versionTags = []}}, modu = ModuleName ["Graphics","UI","Editor","Composite"]}, mbLocation' = Just (Location {locationSLine = 499, locationSCol = 0, locationELine = 616, locationECol = 25}), mbComment' = Just "An editor with a subeditor, of which a list of items can be selected\n\n", details' = VariableDescr}), refScope = Package})),[SplitP RightP,SplitP BottomP]),(Just (SearchSt (SearchState {searchString = "number", searchScope = System, searchMode = Prefix {caseSense = True}})),[SplitP RightP,SplitP TopP]),(Just (TraceSt TraceState),[SplitP RightP,SplitP TopP,GroupP "Debug",SplitP BottomP]),(Just (VariablesSt VariablesState),[SplitP RightP,SplitP TopP,GroupP "Debug",SplitP BottomP]),(Just (BufferSt (BufferStateTrans "_Eval.hs" ":l demos\\fact.hs\n\nrunW $ tshowp $ tFact 1 1\nmain\n\nrunR treadp \"9 Fact 1 1\" :: Fact" 51)),[SplitP RightP,SplitP TopP,GroupP "Debug",SplitP TopP])] -Window size: (1024,540) -Active package: - Just "C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\TCache.cabal" -Active pane: Just "IResource.hs" -Toolbar visible: - True -FindbarState: (True,FindState {entryStr = "I.", entryHist = ["I.","ll the rest derive from it","clearSyncCacheProc","DynamicIn","takeBlocks","size","getTVars ","cate","unsa","logWFF","logWFD","orElse"], replaceStr = "PMonadTrans", replaceHist = [], caseSensitive = False, entireWord = False, wrapAround = True, regex = False, lineNr = 1}) -Recently opened files: - ["C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\Data\\TCache\\IResource.hs","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\Data\\TCache\\Dynamic.hs","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\Data\\TCache\\IDynamic.hs","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\RefSerialize-0.2.4\\RefSerialize.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\RefSerialize-0.2.4\\demo.hs","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\RefSerialize-0.2.4\\tutorial.txt","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Workflow-0.5.5\\Workflow.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\Data\\TCache\\TMVar.hs","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\Data\\TCache.hs","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.4\\TCache.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\RefSerialize-0.2.4\\Data\\Serialize.hs","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\RefSerialize-0.2.4\\Data\\Parser.hs"] -Recently opened packages: - ["C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Workflow-0.5.5\\Workflow.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Workflow-0.5\\Workflow.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\RefSerialize-0.2.4\\RefSerialize.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Workflow-0.3\\Workflow.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\TCache-0.6.3\\TCache.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Workflow-0.4.6\\Workflow.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\RefSerialize-0.2.3\\RefSerialize.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\tests\\All\\test.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Workflow-0.4.5\\Workflow.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Workflow-0.4\\Workflow.cabal","C:\\Documents and Settings\\Alberto Gomez Corona\\Mis documentos\\haskell\\devel\\Cluster-0.3.3 distributed TVar nosync\\Cluster.cabal"]
TCache.cabal view
@@ -1,5 +1,5 @@ name: TCache-version: 0.6.4+version: 0.6.5 synopsis: A Transactional data cache with configurable persistence description: Data.Tcache is a transactional cache with configurable persistence. It tries to simulate Hibernate
− demos/DynamicSample.hs
@@ -1,71 +0,0 @@-{-# OPTIONS -XTypeSynonymInstances #-} --- XTypeSynonymInstances added only to permit IResource instances for Strings -module Main where -import Data.TCache.Dynamic -import Data.Typeable -import Unsafe.Coerce -{------------- tests--------- -example of IDynamic usage. - --} - ---very simple data: ---two objects with two different datatypes: Int and String - -instance IResource Int where - keyResource x= "I" - serialize = show - deserialize = read - defPath _= "data/" - - - -instance IResource String where - keyResource x= "S" - serialize = show - deserialize = read - defPath _= "data/" - - - - -main= do - putStrLn "see the code to know the meaning of he results" - registerType :: IO Int -- register both datatypes (Int, and String) - registerType :: IO String - - let x= 1:: Int - withDResources [] (\_->[toIDyn x, toIDyn "hola"]) --resource creation for the example - - syncCache --syncCache now has no parameters (refcache is not used) - - res <- getResources [1::Int, 1::Int] --getResources works as allways - print (res :: [Maybe Int]) - - res <- getResources ["hola", "hola"] --with multiple stored datatypes this time - print (res :: [Maybe String]) - - res <- getDResources [toIDyn "hola", toIDyn ( 1::Int)] -- DResource calls can manage many datatypes simultaneously - print res - - mres <- getResource $ Key (typeOf "") "S" --Key permits to retrieve any object of any datatype by key - case mres of - Nothing -> error "not found" - Just res -> do - print ( res :: String) -- print the content - - -- print ( res :: Int) -- error reported, wrong casting - - - mres <- getDResource $ IDynamic $ Key (typeOf "") "S" --Key permits to retrieve any object of any datatype by key - case mres of - Nothing -> error "not found" - Just res -> do - print (fromIDyn res :: String) -- print the content - - print (fromIDyn res :: Int) -- error reported, wrong casting - - - syncCache - - getChar
− demos/Sample.hs
@@ -1,102 +0,0 @@- module Main where----------------------------------------------------- A example of Transactional cache usage (TCache.hs)--- (Something like the Java Hibernate)--- Author: Alberto Gómez Corona Nov 2006--- Language: Haskell--- Terms of use: you can do whatever you want--- with this code as long as you keep this notice----------------------------------------------------import Data.TCache--import Control.Concurrent-import Debug.Trace--debug a b= trace b a---- The data elements to be used in the example: A user will repeatedly buy Items.--data Data= User{uname::String, uid::String, spent:: Int} |- Item{iname::String, iid::String, price::Int, stock::Int}-- deriving (Read, Show)----- The mappings between the cache and the phisical storage are defined by the interface IResource--- to extract the unique key,--- to serializa to string--- to deserialize from string--- key prefix (or , if use "/", directory where to store the resource if default write is to be used)--- to read the resource from the physical storage, (optional, default in files)--- to store it (optional, default from file)--- to delete the resource from the physical storage. (optional. Default provided)----instance IResource Data where- keyResource User{uid=id}= id- keyResource Item{iid=id}= id- serialize x= show x- deserialize x= read x- defPath _ = "data/" -- directory where the data is stored.-- -- other definable methods: readResource, writeResource delResource. here the default persistence in files are used---- buy is the operation to be performed in the example----withResources gets a partial definition of each resource necessary for extracting the key,---fill all the rest of the data structures (if found ) and return a list of Maybe Data.---BuyIt is part of the domain problem. it receive this list and generates a new list of---data objects that are updated in the cache. buyIt is executed atomically.---user `buy` item=- withResources[user,item] buyIt-- where-- buyIt[Just us,Just it]- | stock it > 0= [us',it'] `debug` "john buy a PC"- | otherwise = error "stock is empty for this product"-- where- us'= us{spent=spent us + price it}- it'= it{stock= stock it-1}--- buyIt _ = error "either the user or the item does not exist"---main= do- -- create resources (acces no resources and return two new Data objects defined in items)- withResources[]items-- --11 PCs are charged to the John´s account in paralel, to show transactionality- --because there are only 10 PCs in stock, the last thread must return an error-- for 11 $ forkIO $ User{uid="U12345"} `buy` Item{iid="I54321"}-- --wait 1 seconds- threadDelay 1000000-- [us,it] <- getResources [User{uid="U12345"}, Item{iid="I54321"}]-- putStrLn $ "user data=" ++ show us- putStrLn $ "item data=" ++ show it-- -- write the cache content in a persistent store (invoque writeResource for each resource)- -- in a real application clearSyncCacheProc can be used instead to adjust size and write the cache periodically-- syncCache (refcache :: Cache Data)-- -- the files have been created. the files U12345 and I54321 must contain the result of the 11 iterations-- where- items _=- [User "John" "U12345" 0- ,Item "PC" "I54321" 6000 10]-- for 0 _ = return ()- for n f= f >> for (n-1) f
− demos/Sample2.hs
@@ -1,67 +0,0 @@- module Main where----------------------------------------------------- A example of Transactional cache usage (TCache.hs)--- (Something like the Java Hibernate)--- Author: Alberto Gómez Corona Nov 2006--- Language: Haskell--- Terms of use: you can do whatever you want--- with this code as long as you keep this notice---------------------------------------------------import Data.TCache.TMVar--import Control.Concurrent-import Debug.Trace--debug a b= trace b a---- The data elements to be used in the example--data Data= Data Int String deriving (Read, Show)-- --instance IResource Data where- keyResource (Data i _)= show i - serialize x= show x- deserialize x= read x- defPath _ = "data/" -- directory where the data is stored.- - -- other definable methods: readResource, writeResource delResource. here the default persistence in files are used- ---main= do- - putStrLn "see the source code of this example"- putStrLn "This program test the caching and cleaning and re-retrieval and update of the cache"- - putStrLn "asyncronous write every 10 seconds, 100 elems max cache size"- putStrLn "default policy (defaultCheck) for clearing the cache is to reduce the cache to half of max sixe when size exceeds the max"- clearSyncCacheProc (refcache :: Cache Data) 10 defaultCheck 100 - putStrLn ""- putStrLn "create resources" - putStrLn " (acces no resources and return two new Data objects defined in items)"- withResources[] (\_ ->[Data i "olddata" | i <-[1..200]])-- putStrLn ""- putStrLn "after 10 seconds, 200 files have been created in the folder \"data\""- putStrLn "because 200 exceeds the maximum cache size (100) defaultCheck will discard the 150 older elems to reduce the cache to a half"- putStrLn "This is the behaviour defined in defaultCheck."- - putStrLn ""- putStrLn" wait 20 seconds to let the next write cycle to enter (every 10 seconds, set in clearSyncCacheProc)" - - threadDelay 2000000- - putStrLn "" - putStrLn "modifyng"- putStrLn "update all the list. discarded elems from cache are also updated atomically"- withResources[] (\_ ->[Data i "newdata" | i <-[1..200]]) - - putStrLn "state in disk is also atomically written."- - putStrLn "" - putStrLn "updated. wait 20 seconds to let the next write cycle to enter (every 10 seconds)" - threadDelay 20000000- putStrLn "Done. Please check that the \".data/\" directory has 200 files with \"newdata\" content in them"
− dist/build/autogen/Paths_TCache.hs
@@ -1,29 +0,0 @@-module Paths_TCache (- version,- getBinDir, getLibDir, getDataDir, getLibexecDir,- getDataFileName- ) where--import Data.Version (Version(..))-import System.Environment (getEnv)--version :: Version-version = Version {versionBranch = [0,6,4], versionTags = []}--bindir, libdir, datadir, libexecdir :: FilePath--bindir = "C:\\Archivos de programa\\Haskell\\bin"-libdir = "C:\\Archivos de programa\\Haskell\\TCache-0.6.4\\ghc-6.10.3"-datadir = "C:\\Archivos de programa\\Haskell\\TCache-0.6.4"-libexecdir = "C:\\Archivos de programa\\Haskell\\TCache-0.6.4"--getBinDir, getLibDir, getDataDir, getLibexecDir :: IO FilePath-getBinDir = catch (getEnv "TCache_bindir") (\_ -> return bindir)-getLibDir = catch (getEnv "TCache_libdir") (\_ -> return libdir)-getDataDir = catch (getEnv "TCache_datadir") (\_ -> return datadir)-getLibexecDir = catch (getEnv "TCache_libexecdir") (\_ -> return libexecdir)--getDataFileName :: FilePath -> IO FilePath-getDataFileName name = do- dir <- getDataDir- return (dir ++ "\\" ++ name)
− dist/build/autogen/cabal_macros.h
@@ -1,38 +0,0 @@-/* DO NOT EDIT: This file is automatically generated by Cabal */--/* package RefSerialize-0.2.4 */-#define MIN_VERSION_RefSerialize(major1,major2,minor) \- (major1) < 0 || \- (major1) == 0 && (major2) < 2 || \- (major1) == 0 && (major2) == 2 && (minor) <= 4--/* package base-3.0.3.1 */-#define MIN_VERSION_base(major1,major2,minor) \- (major1) < 3 || \- (major1) == 3 && (major2) < 0 || \- (major1) == 3 && (major2) == 0 && (minor) <= 3--/* package containers-0.2.0.1 */-#define MIN_VERSION_containers(major1,major2,minor) \- (major1) < 0 || \- (major1) == 0 && (major2) < 2 || \- (major1) == 0 && (major2) == 2 && (minor) <= 0--/* package directory-1.0.0.3 */-#define MIN_VERSION_directory(major1,major2,minor) \- (major1) < 1 || \- (major1) == 1 && (major2) < 0 || \- (major1) == 1 && (major2) == 0 && (minor) <= 0--/* package old-time-1.0.0.2 */-#define MIN_VERSION_old_time(major1,major2,minor) \- (major1) < 1 || \- (major1) == 1 && (major2) < 0 || \- (major1) == 1 && (major2) == 0 && (minor) <= 0--/* package stm-2.1.1.2 */-#define MIN_VERSION_stm(major1,major2,minor) \- (major1) < 2 || \- (major1) == 2 && (major2) < 1 || \- (major1) == 2 && (major2) == 1 && (minor) <= 1-
− dist/doc/html/TCache/Data-TCache-Dynamic.html
@@ -1,2627 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.Dynamic</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -><SCRIPT TYPE="text/javascript" ->window.onload = function () {setSynopsis("mini_Data-TCache-Dynamic.html")};</SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="modulebar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><FONT SIZE="6" ->Data.TCache.Dynamic</FONT -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Description</TD -></TR -><TR -><TD CLASS="doc" -><P ->Data.TCache.Dynamic: -A dynamic interface for TCache so that mixed datatypes can be managed participating in a single transaction. -The objects are encapsulated in a <TT -><A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TT -> datatype, that is d Dynamic type that is serializable and indexable -</P -><P ->Dynamic present essentially the same methods than Data.TCache. The added functionality is the management -of IDynamic types. Any datatype that is instance of IResource and Typeable can be handled mixed with any other -datatype. TCache.Dynamic is essentially a TCache working with a single datatype: IDynamic that is indexable and -serializable. You dont need to do anything special except to define Typeable besides the IResource instance for -your particular datatype. Also, before use, your datatype must be registered (with <TT -><A HREF="Data-TCache-Dynamic.html#v%3AregisterType" ->registerType</A -></TT ->, see example in the package). -</P -><P ->there are basically two types of methods in this module: -</P -><UL -><LI -> <TT ->with(STM)Resource(s)</TT -> calls: manage one single type of data, in the same way than the naked <TT ->Data.TCache</TT -> module, Are the same than Data.TCache. - The marsalling to and from IDynamic is managed internally. These calls do exactly the same than the TCache calls with the same name -these cals allows different modules to handle their particular kind of data without regard that it is being handled in the same cache with other datatypes. -</LI -><LI -> <TT ->wthD(STM)Resource(s)</TT ->: are new, and handle the IDynamic type. The user must wrap your datatypes (with toIDyn) and unwap it (with fromIDyn) - These call permts to handle arbitrary types at the same time and partticipate in transactions. -</LI -></UL -><P ->There is also a useful <TT -><A HREF="Data-TCache-Dynamic.html#t%3AKey" ->Key</A -></TT -> object whose purpose is to retrieve any objecto fo any datatype by its sting key -</P -><P ->Also the parameter <TT ->refcache</TT -> has been dropped from the methods that used it (the syncronization methods) -</P -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Synopsis</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3AIResource" ->IResource</A -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AkeyResource" ->keyResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aserialize" ->serialize</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Adeserialize" ->deserialize</A -> :: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -> -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atshowp" ->tshowp</A -> :: a -> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atreadp" ->treadp</A -> :: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefPath" ->defPath</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AreadResource" ->readResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwriteResource" ->writeResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdelResource" ->delResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AResources" ->Resources</A -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" ->= <A HREF="#v%3ARetry" ->Retry</A -></TD -></TR -><TR -><TD CLASS="decl" ->| <A HREF="#v%3AResources" ->Resources</A -> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoAdd" ->toAdd</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoDelete" ->toDelete</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoReturn" ->toReturn</A -> :: b</TD -></TR -></TABLE ->}</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aresources" ->resources</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsetCache" ->setCache</A -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Arefcache" ->refcache</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefaultCheck" ->defaultCheck</A -> :: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AIDynamic" ->IDynamic</A -> = <SPAN CLASS="keyword" ->forall</SPAN -> a . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a) => <A HREF="#v%3AIDynamic" ->IDynamic</A -> a</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="#t%3ACache" ->Cache</A -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3ADynamicInterface" ->DynamicInterface</A -> x <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AtoIDyn" ->toIDyn</A -> :: x -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AregisterType" ->registerType</A -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AfromIDyn" ->fromIDyn</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AunsafeFromIDyn" ->unsafeFromIDyn</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsafeFromIDyn" ->safeFromIDyn</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> x</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AKey" ->Key</A -> = <A HREF="#v%3AKey" ->Key</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTVars" ->getTVars</A -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AreleaseTVars" ->releaseTVars</A -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTVarsIO" ->getTVarsIO</A -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithDResource" ->withDResource</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithDResources" ->withDResources</A -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithDSTMResources" ->withDSTMResources</A -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="Data-TCache-Dynamic.html#t%3AResources" ->Resources</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> x) -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetDResource" ->getDResource</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetDResources" ->getDResources</A -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteDResource" ->deleteDResource</A -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteDResources" ->deleteDResources</A -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsyncCache" ->syncCache</A -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AclearSyncCacheProc" ->clearSyncCacheProc</A -> :: <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> (<A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A ->) -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent.html#t%3AThreadId" ->ThreadId</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResource" ->withResource</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> b) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResources" ->withResources</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [b]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithSTMResources" ->withSTMResources</A -> :: <SPAN CLASS="keyword" ->forall</SPAN -> x a b. (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache-Dynamic.html#t%3AResources" ->Resources</A -> b x) -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetResource" ->getResource</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetResources" ->getResources</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteResource" ->deleteResource</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteResources" ->deleteResources</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Documentation</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:IResource" -><A NAME="t%3AIResource" -></A -></A -><B ->IResource</B -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Interface that must be defined for every object being cached. - <TT -><A HREF="Data-TCache-Dynamic.html#v%3AreadResource" ->readResource</A -></TT -> and <TT -><A HREF="Data-TCache-Dynamic.html#v%3AwriteResource" ->writeResource</A -></TT -> are implemented by default as read-write to files with its key as filename - <TT -><A HREF="Data-TCache-Dynamic.html#v%3Aserialize" ->serialize</A -></TT -> and <TT -><A HREF="Data-TCache-Dynamic.html#v%3Adeserialize" ->deserialize</A -></TT -> are specified just to allow these defaults. If you define your own persistence, then - <TT ->serialize</TT -> and <TT ->deserialize</TT -> are not needed. The package Workflow need them anyway. -</P -><P ->minimal definition: keyResource, serialize, deserialize -</P -><P ->While serialize and deserialize are agnostic about the way of converison to strings, either binary or textual, treadp and -tshowp use the monad defined in the RefSerialize package. Both ways of serialization are alternative. one is defined -by default in terms of the other. the RefSerialize monad has been introduced to permit IResource objects to be -serialized as part of larger structures that embody them. This is necessary for the Workdlow package. -</P -><P ->The keyResource string must be a unique since this is used to index it in the hash table. -when accessing a resource, the user must provide a partial object for wich the key can be obtained. -for example: -</P -><PRE ->data Person= Person{name, surname:: String, account :: Int ....) - -keyResource Person n s ...= n++s</PRE -><P ->the data being accesed must have the fields used by keyResource filled. For example -</P -><PRE -> readResource Person {name=<A HREF="John.html" ->John</A ->, surname= <A HREF="Adams.html" ->Adams</A ->}</PRE -><P ->leaving the rest of the fields undefined -</P -><P ->IResource has defaults definitions for all the methods except keyResource - Either one or other serializer must be defiened for default witeResource, readResource and delResource -</P -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:keyResource" -><A NAME="v%3AkeyResource" -></A -></A -><B ->keyResource</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:serialize" -><A NAME="v%3Aserialize" -></A -></A -><B ->serialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deserialize" -><A NAME="v%3Adeserialize" -></A -></A -><B ->deserialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> a</TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:tshowp" -><A NAME="v%3Atshowp" -></A -></A -><B ->tshowp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->serializer in the RefSerialize monad. Either one or other serializer must be defined to use default persistence -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:treadp" -><A NAME="v%3Atreadp" -></A -></A -><B ->treadp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -><TD CLASS="rdoc" ->deserialize in the RefSerilzlize monad. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defPath" -><A NAME="v%3AdefPath" -></A -></A -><B ->defPath</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->additional extension for default file paths or key prefixes -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:readResource" -><A NAME="v%3AreadResource" -></A -></A -><B ->readResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:writeResource" -><A NAME="v%3AwriteResource" -></A -></A -><B ->writeResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:delResource" -><A NAME="v%3AdelResource" -></A -></A -><B ->delResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IResource')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IResource" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-Dynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Resources" -><A NAME="t%3AResources" -></A -></A -><B ->Resources</B -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->Resources returned by withSTMResources' -</TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Retry" -><A NAME="v%3ARetry" -></A -></A -><B ->Retry</B -></TD -><TD CLASS="rdoc" ->forces a retry -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:Resources" -><A NAME="v%3AResources" -></A -></A -><B ->Resources</B -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="body" COLSPAN="2" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:toAdd" -><A NAME="v%3AtoAdd" -></A -></A -><B ->toAdd</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be inserted back in the cache -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toDelete" -><A NAME="v%3AtoDelete" -></A -></A -><B ->toDelete</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be deleted from the cache and from permanent storage -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toReturn" -><A NAME="v%3AtoReturn" -></A -></A -><B ->toReturn</B -> :: b</TD -><TD CLASS="rdoc" ->result to be returned -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:resources" -><A NAME="v%3Aresources" -></A -></A -><B ->resources</B -> :: <A HREF="Data-TCache-Dynamic.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><PRE ->resources= Resources [] [] ()</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:setCache" -><A NAME="v%3AsetCache" -></A -></A -><B ->setCache</B -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->set the cache. this is useful for hot loaded modules that will update an existing cache. Experimental -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:refcache" -><A NAME="v%3Arefcache" -></A -></A -><B ->refcache</B -> :: <A HREF="Data-TCache-Dynamic.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defaultCheck" -><A NAME="v%3AdefaultCheck" -></A -></A -><B ->defaultCheck</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -><TD CLASS="rdoc" ->current time in seconds -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -><TD CLASS="rdoc" ->last access time for a given object -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -><TD CLASS="rdoc" ->last cache syncronization (with the persisten storage) -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -><TD CLASS="rdoc" ->return true for all the elems not accesed since half the time between now and the last sync -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" ->To drop from the cache all the elems not accesed since half the time between now and the last sync - ths is a default cache clearance procedure -- it is invoke when the cache size exceeds the defined in <TT -><A HREF="Data-TCache.html#v%3AclearSyncCacheProc" ->clearSyncCacheProc</A -></TT -> -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:IDynamic" -><A NAME="t%3AIDynamic" -></A -></A -><B ->IDynamic</B -> </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><SPAN CLASS="keyword" ->forall</SPAN -> a . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a) => <A NAME="v:IDynamic" -><A NAME="v%3AIDynamic" -></A -></A -><B ->IDynamic</B -> a</TD -><TD CLASS="rdoc" -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IDynamic')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IDynamic" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Text-Show.html#t%3AShow" ->Show</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A NAME="t:Cache" -><A NAME="t%3ACache" -></A -></A -><B ->Cache</B -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:DynamicInterface" -><A NAME="t%3ADynamicInterface" -></A -></A -><B ->DynamicInterface</B -> x <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->DynamicInterface groups a set of default method calls to handle dynamic objects. It is not necessary to derive instances from it -</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:toIDyn" -><A NAME="v%3AtoIDyn" -></A -></A -><B ->toIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: x</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" ->encapsulates data in a dynamic object -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:registerType" -><A NAME="v%3AregisterType" -></A -></A -><B ->registerType</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> x</TD -><TD CLASS="rdoc" ->registers the deserialize, readp and readResource methods for this data type -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:fromIDyn" -><A NAME="v%3AfromIDyn" -></A -></A -><B ->fromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> x</TD -><TD CLASS="rdoc" ->extract the data from the dynamic object. trows a user error when the cast fails -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:unsafeFromIDyn" -><A NAME="v%3AunsafeFromIDyn" -></A -></A -><B ->unsafeFromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> x</TD -><TD CLASS="rdoc" ->unsafe version. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:safeFromIDyn" -><A NAME="v%3AsafeFromIDyn" -></A -></A -><B ->safeFromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> x</TD -><TD CLASS="rdoc" ->safe extraction with Maybe -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Key" -><A NAME="t%3AKey" -></A -></A -><B ->Key</B -> </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Key datatype can be used to read any object trough the Dynamic interface. -</P -><PRE -> data Key = Key <TT -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -></TT -> String deriving Typeable</PRE -><P ->Example -</P -><PRE -> mst <- getDResource $ <TT -><A HREF="Data-TCache-Dynamic.html#t%3AKey" ->Key</A -></TT -> type keyofDesiredObject - case mst of - Nothing -> error $ "not found "++ key - Just (idyn) -> fromIDyn idyn :: DesiredDatatype}</PRE -></TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Key" -><A NAME="v%3AKey" -></A -></A -><B ->Key</B -> <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Key')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:Key" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> <A HREF="Data-TCache-Dynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-Dynamic.html#t%3AKey" ->Key</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTVars" -><A NAME="v%3AgetTVars" -></A -></A -><B ->getTVars</B -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)]</TD -></TR -><TR -><TD CLASS="doc" ->getTVars return the TVar that wraps the resources for which the keys are given . - | it return <TT ->Nothing</TT -> if a TVar with this object has not been allocated - These TVars can be used as usual in explicit user constructed atomic blocks - Additionally, the retrieved TVars remain in the cache and can be accessed and updated by the rest - of the TCache methods. - to keep the consistence in the serialized data, the content of the TVars are written every time the cache is syncronized with the storage until releaseTVars is called - See Data.TCache.getTVars -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:releaseTVars" -><A NAME="v%3AreleaseTVars" -></A -></A -><B ->releaseTVars</B -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTVarsIO" -><A NAME="v%3AgetTVarsIO" -></A -></A -><B ->getTVarsIO</B -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withDResource" -><A NAME="v%3AwithDResource" -></A -></A -><B ->withDResource</B -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><P ->handles Dynamic objects using <TT ->Data.TCache.withResource</TT -> -</P -><PRE ->withDResource = Data.TCache..withResource</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withDResources" -><A NAME="v%3AwithDResources" -></A -></A -><B ->withDResources</B -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withDSTMResources" -><A NAME="v%3AwithDSTMResources" -></A -></A -><B ->withDSTMResources</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: </TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -><TD CLASS="rdoc" ->The list of resources to be retrieved -</TD -></TR -><TR -><TD CLASS="arg" ->-> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="Data-TCache-Dynamic.html#t%3AResources" ->Resources</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> x</TD -><TD CLASS="rdoc" ->The function that process the resources found and return a Resources structure -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -><TD CLASS="rdoc" ->The return value in the STM monad. -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" -><P ->this is the main function for the *Resource calls. All the rest derive from it. The results are kept in the STM monad - so it can be part of a larger STM transaction involving other TVars - The <TT ->Resources</TT -> register returned by the user-defined function is interpreted as such: -</P -><P -><TT ->toAdd</TT ->: additional resources not read in the first parameter of withSTMResources are created/updated with toAdd -</P -><P -><TT ->toDelete</TT ->: from the cache and from permanent storage -</P -><P -><TT ->toReturn</TT ->: will be returned by withSTMResources -</P -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getDResource" -><A NAME="v%3AgetDResource" -></A -></A -><B ->getDResource</B -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)</TD -></TR -><TR -><TD CLASS="doc" -><PRE ->getDResource = Data.TCache.getResource</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getDResources" -><A NAME="v%3AgetDResources" -></A -></A -><B ->getDResources</B -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="doc" -><PRE ->getDResources = Data.TCache.getResources</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteDResource" -><A NAME="v%3AdeleteDResource" -></A -></A -><B ->deleteDResource</B -> :: <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><P ->retrieve a list of objects and return error if any resource is not found. instead of Nothing -</P -><P ->delete a resource from the cache and the storage -</P -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteDResources" -><A NAME="v%3AdeleteDResources" -></A -></A -><B ->deleteDResources</B -> :: [<A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->delete a list of resources from the cache and the storage -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:syncCache" -><A NAME="v%3AsyncCache" -></A -></A -><B ->syncCache</B -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:clearSyncCacheProc" -><A NAME="v%3AclearSyncCacheProc" -></A -></A -><B ->clearSyncCacheProc</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -></TD -><TD CLASS="rdoc" ->number of seconds betwen checks. objects not written to disk are written -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -><TD CLASS="rdoc" ->The user-defined check-for-cleanup-from-cache for each object. defaultCheck is an example -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -></TD -><TD CLASS="rdoc" ->The max number of objects in the cache, if more, the cleanup starts -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent.html#t%3AThreadId" ->ThreadId</A -></TD -><TD CLASS="rdoc" ->Identifier of the thread created -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" ->Start the thread that clean and writes on the persistent storage. - Otherwise, syncCache must be invoked explicitly or no persistence will exist -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResource" -><A NAME="v%3AwithResource" -></A -></A -><B ->withResource</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> b) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><P ->methods that handle a single datatype. -</P -><P ->similar to <TT ->Data.TCache.withResource</TT ->. - The fact that this method may return a type different that the source type permits to use ' Key' objects -</P -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResources" -><A NAME="v%3AwithResources" -></A -></A -><B ->withResources</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [b]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->similar to <TT ->Data.TCache.withResources</TT ->. - The fact that this method may return a type different that the source type permits to use ' Key' objects -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withSTMResources" -><A NAME="v%3AwithSTMResources" -></A -></A -><B ->withSTMResources</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <SPAN CLASS="keyword" ->forall</SPAN -> x a b . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b)</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> [a]</TD -><TD CLASS="rdoc" ->the list of resources to be retrieved -</TD -></TR -><TR -><TD CLASS="arg" ->-> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache-Dynamic.html#t%3AResources" ->Resources</A -> b x</TD -><TD CLASS="rdoc" ->The function that process the resources found and return a Resources structure -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -><TD CLASS="rdoc" ->The return value in the STM monad. -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" ->similar to <TT ->Data.TCache.withSTMResources</TT ->. - The return in the STM monad permits to participate in larger STM transactions - The fact that this method may return a type different that the source type permits to use ' Key' objects -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getResource" -><A NAME="v%3AgetResource" -></A -></A -><B ->getResource</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b)</TD -></TR -><TR -><TD CLASS="doc" ->similar to Data.<TT ->TCache.getResource</TT ->. - The fact that this method may return a type different that the source type permits to use ' Key' objects -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getResources" -><A NAME="v%3AgetResources" -></A -></A -><B ->getResources</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b]</TD -></TR -><TR -><TD CLASS="doc" ->similar to <TT ->Data.TCache.getResources</TT ->. - The fact that this method may return a type different that the source type permits to use ' Key' objects -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteResource" -><A NAME="v%3AdeleteResource" -></A -></A -><B ->deleteResource</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->similar to <TT ->Data.TCache.deleteResource</TT -> -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteResources" -><A NAME="v%3AdeleteResources" -></A -></A -><B ->deleteResources</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->IResource</A -> a) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->similar to <TT ->Data.TCache.deleteResource</TT -> -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="botbar" ->Produced by <A HREF="http://www.haskell.org/haddock/" ->Haddock</A -> version 2.4.2</TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/Data-TCache-IDynamic.html
@@ -1,672 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.IDynamic</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -><SCRIPT TYPE="text/javascript" ->window.onload = function () {setSynopsis("mini_Data-TCache-IDynamic.html")};</SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="modulebar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><FONT SIZE="6" ->Data.TCache.IDynamic</FONT -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Description</TD -></TR -><TR -><TD CLASS="doc" -><P ->IDynamic is a indexable and serializable version of Dynamic. (See <TT ->Data.Dynamic</TT ->). It is used as containers of objects -in the cache so any new datatype can be incrementally stored without recompilation. -IDimamic provices methods for safe casting, besides serializaton, deserialization, registrations and retrieval by lkey. -</P -><PRE ->data IDynamic= forall a. (Typeable a, IResource a) => IDynamic a deriving Typeable</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Synopsis</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AIDynamic" ->IDynamic</A -> = <SPAN CLASS="keyword" ->forall</SPAN -> a . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-IResource.html#t%3AIResource" ->IResource</A -> a) => <A HREF="#v%3AIDynamic" ->IDynamic</A -> a</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Alist" ->list</A -> :: <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent-MVar.html#t%3AMVar" ->MVar</A -> (<A HREF="$httptopdir/doc/libraries/containers/Data-Map.html#t%3AMap" ->Map</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Word.html#t%3AWord" ->Word</A -> (<A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A ->), <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -> -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A ->, <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A ->))</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3ADynamicInterface" ->DynamicInterface</A -> x <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AtoIDyn" ->toIDyn</A -> :: x -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AregisterType" ->registerType</A -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AfromIDyn" ->fromIDyn</A -> :: <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -> -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AunsafeFromIDyn" ->unsafeFromIDyn</A -> :: <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -> -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsafeFromIDyn" ->safeFromIDyn</A -> :: <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> x</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AKey" ->Key</A -> = <A HREF="#v%3AKey" ->Key</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Documentation</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:IDynamic" -><A NAME="t%3AIDynamic" -></A -></A -><B ->IDynamic</B -> </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><SPAN CLASS="keyword" ->forall</SPAN -> a . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-IResource.html#t%3AIResource" ->IResource</A -> a) => <A NAME="v:IDynamic" -><A NAME="v%3AIDynamic" -></A -></A -><B ->IDynamic</B -> a</TD -><TD CLASS="rdoc" -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IDynamic')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IDynamic" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Text-Show.html#t%3AShow" ->Show</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-IResource.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:list" -><A NAME="v%3Alist" -></A -></A -><B ->list</B -> :: <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent-MVar.html#t%3AMVar" ->MVar</A -> (<A HREF="$httptopdir/doc/libraries/containers/Data-Map.html#t%3AMap" ->Map</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Word.html#t%3AWord" ->Word</A -> (<A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A ->), <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -> -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A ->, <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A ->))</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:DynamicInterface" -><A NAME="t%3ADynamicInterface" -></A -></A -><B ->DynamicInterface</B -> x <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->DynamicInterface groups a set of default method calls to handle dynamic objects. It is not necessary to derive instances from it -</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:toIDyn" -><A NAME="v%3AtoIDyn" -></A -></A -><B ->toIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: x</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" ->encapsulates data in a dynamic object -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:registerType" -><A NAME="v%3AregisterType" -></A -></A -><B ->registerType</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> x</TD -><TD CLASS="rdoc" ->registers the deserialize, readp and readResource methods for this data type -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:fromIDyn" -><A NAME="v%3AfromIDyn" -></A -></A -><B ->fromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> x</TD -><TD CLASS="rdoc" ->extract the data from the dynamic object. trows a user error when the cast fails -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:unsafeFromIDyn" -><A NAME="v%3AunsafeFromIDyn" -></A -></A -><B ->unsafeFromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> x</TD -><TD CLASS="rdoc" ->unsafe version. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:safeFromIDyn" -><A NAME="v%3AsafeFromIDyn" -></A -></A -><B ->safeFromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> x</TD -><TD CLASS="rdoc" ->safe extraction with Maybe -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Key" -><A NAME="t%3AKey" -></A -></A -><B ->Key</B -> </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Key datatype can be used to read any object trough the Dynamic interface. -</P -><PRE -> data Key = Key <TT -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -></TT -> String deriving Typeable</PRE -><P ->Example -</P -><PRE -> mst <- getDResource $ <TT -><A HREF="Data-TCache-IDynamic.html#t%3AKey" ->Key</A -></TT -> type keyofDesiredObject - case mst of - Nothing -> error $ "not found "++ key - Just (idyn) -> fromIDyn idyn :: DesiredDatatype}</PRE -></TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Key" -><A NAME="v%3AKey" -></A -></A -><B ->Key</B -> <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Key')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:Key" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> <A HREF="Data-TCache-IDynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-IResource.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AKey" ->Key</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="botbar" ->Produced by <A HREF="http://www.haskell.org/haddock/" ->Haddock</A -> version 2.4.2</TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/Data-TCache-IResource.html
@@ -1,844 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.IResource</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -><SCRIPT TYPE="text/javascript" ->window.onload = function () {setSynopsis("mini_Data-TCache-IResource.html")};</SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="modulebar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><FONT SIZE="6" ->Data.TCache.IResource</FONT -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Synopsis</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3AIResource" ->IResource</A -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AkeyResource" ->keyResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aserialize" ->serialize</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Adeserialize" ->deserialize</A -> :: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -> -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atshowp" ->tshowp</A -> :: a -> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atreadp" ->treadp</A -> :: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefPath" ->defPath</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AreadResource" ->readResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwriteResource" ->writeResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdelResource" ->delResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="#t%3AAccessTime" ->AccessTime</A -> = <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="#t%3AModifTime" ->ModifTime</A -> = <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AResources" ->Resources</A -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" ->= <A HREF="#v%3ARetry" ->Retry</A -></TD -></TR -><TR -><TD CLASS="decl" ->| <A HREF="#v%3AResources" ->Resources</A -> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoAdd" ->toAdd</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoDelete" ->toDelete</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoReturn" ->toReturn</A -> :: b</TD -></TR -></TABLE ->}</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aresources" ->resources</A -> :: <A HREF="Data-TCache-IResource.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Documentation</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:IResource" -><A NAME="t%3AIResource" -></A -></A -><B ->IResource</B -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Interface that must be defined for every object being cached. - <TT -><A HREF="Data-TCache-IResource.html#v%3AreadResource" ->readResource</A -></TT -> and <TT -><A HREF="Data-TCache-IResource.html#v%3AwriteResource" ->writeResource</A -></TT -> are implemented by default as read-write to files with its key as filename - <TT -><A HREF="Data-TCache-IResource.html#v%3Aserialize" ->serialize</A -></TT -> and <TT -><A HREF="Data-TCache-IResource.html#v%3Adeserialize" ->deserialize</A -></TT -> are specified just to allow these defaults. If you define your own persistence, then - <TT ->serialize</TT -> and <TT ->deserialize</TT -> are not needed. The package Workflow need them anyway. -</P -><P ->minimal definition: keyResource, serialize, deserialize -</P -><P ->While serialize and deserialize are agnostic about the way of converison to strings, either binary or textual, treadp and -tshowp use the monad defined in the RefSerialize package. Both ways of serialization are alternative. one is defined -by default in terms of the other. the RefSerialize monad has been introduced to permit IResource objects to be -serialized as part of larger structures that embody them. This is necessary for the Workdlow package. -</P -><P ->The keyResource string must be a unique since this is used to index it in the hash table. -when accessing a resource, the user must provide a partial object for wich the key can be obtained. -for example: -</P -><PRE ->data Person= Person{name, surname:: String, account :: Int ....) - -keyResource Person n s ...= n++s</PRE -><P ->the data being accesed must have the fields used by keyResource filled. For example -</P -><PRE -> readResource Person {name=<A HREF="John.html" ->John</A ->, surname= <A HREF="Adams.html" ->Adams</A ->}</PRE -><P ->leaving the rest of the fields undefined -</P -><P ->IResource has defaults definitions for all the methods except keyResource - Either one or other serializer must be defiened for default witeResource, readResource and delResource -</P -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:keyResource" -><A NAME="v%3AkeyResource" -></A -></A -><B ->keyResource</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:serialize" -><A NAME="v%3Aserialize" -></A -></A -><B ->serialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deserialize" -><A NAME="v%3Adeserialize" -></A -></A -><B ->deserialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> a</TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:tshowp" -><A NAME="v%3Atshowp" -></A -></A -><B ->tshowp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->serializer in the RefSerialize monad. Either one or other serializer must be defined to use default persistence -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:treadp" -><A NAME="v%3Atreadp" -></A -></A -><B ->treadp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -><TD CLASS="rdoc" ->deserialize in the RefSerilzlize monad. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defPath" -><A NAME="v%3AdefPath" -></A -></A -><B ->defPath</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->additional extension for default file paths or key prefixes -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:readResource" -><A NAME="v%3AreadResource" -></A -></A -><B ->readResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:writeResource" -><A NAME="v%3AwriteResource" -></A -></A -><B ->writeResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:delResource" -><A NAME="v%3AdelResource" -></A -></A -><B ->delResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IResource')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IResource" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-IResource.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-IResource.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A NAME="t:AccessTime" -><A NAME="t%3AAccessTime" -></A -></A -><B ->AccessTime</B -> = <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A NAME="t:ModifTime" -><A NAME="t%3AModifTime" -></A -></A -><B ->ModifTime</B -> = <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Resources" -><A NAME="t%3AResources" -></A -></A -><B ->Resources</B -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->Resources returned by withSTMResources' -</TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Retry" -><A NAME="v%3ARetry" -></A -></A -><B ->Retry</B -></TD -><TD CLASS="rdoc" ->forces a retry -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:Resources" -><A NAME="v%3AResources" -></A -></A -><B ->Resources</B -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="body" COLSPAN="2" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:toAdd" -><A NAME="v%3AtoAdd" -></A -></A -><B ->toAdd</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be inserted back in the cache -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toDelete" -><A NAME="v%3AtoDelete" -></A -></A -><B ->toDelete</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be deleted from the cache and from permanent storage -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toReturn" -><A NAME="v%3AtoReturn" -></A -></A -><B ->toReturn</B -> :: b</TD -><TD CLASS="rdoc" ->result to be returned -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:resources" -><A NAME="v%3Aresources" -></A -></A -><B ->resources</B -> :: <A HREF="Data-TCache-IResource.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><PRE ->resources= Resources [] [] ()</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="botbar" ->Produced by <A HREF="http://www.haskell.org/haddock/" ->Haddock</A -> version 2.4.2</TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/Data-TCache-TMVar-Dynamic.html
@@ -1,2232 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.TMVar.Dynamic</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -><SCRIPT TYPE="text/javascript" ->window.onload = function () {setSynopsis("mini_Data-TCache-TMVar-Dynamic.html")};</SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="modulebar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><FONT SIZE="6" ->Data.TCache.TMVar.Dynamic</FONT -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Description</TD -></TR -><TR -><TD CLASS="doc" -><P ->Data.TCache.TMVar.Dynamic: -A dynamic interface for TCache using TMVars -</P -><P ->Dynamic present essentially the same methods than Data.TCache. The added functionality is the management -of IDynamic types. Any datatype that is instance of IResource and Typeable can be handled mixed with any other -datatype. TCache.Dynamic is essentially a TCache working with a single datatype: IDynamic that is indexable and -serializable. You dont need to do anything special except to define the IResource and typeable instances for -your particular datatype. Also, before use, your datatype must be registered (with registerType, see example in the package). -</P -><P ->there are basically two types of methods: -</P -><UL -><LI ->*Resource(s) : manage one type of data, Are the same than Data.TCache. The marsalling to and from IDynamic is managed internally -</LI -><LI ->*DResource(s): handle the IDynamic type. you must wrap your datatype (with toIDyn) and unwap it (with fromIDyn) -</LI -></UL -><P ->The first set allows different modules to handle their particular kind of data without regard that it is being handled in the same cache with other datatypes. -</P -><P ->The second set allows to handle, transact etc with many datatypes at the same time. -</P -><P ->There is also a useful Key object whose purpose is to retrieve any objecto fo any datatype by its sting key -</P -><P ->Also the parameter refcache has been dropped from the methods that used it (the syncronization methods) -</P -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Synopsis</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3AIResource" ->IResource</A -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AkeyResource" ->keyResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aserialize" ->serialize</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Adeserialize" ->deserialize</A -> :: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -> -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atshowp" ->tshowp</A -> :: a -> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atreadp" ->treadp</A -> :: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefPath" ->defPath</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AreadResource" ->readResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwriteResource" ->writeResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdelResource" ->delResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AResources" ->Resources</A -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" ->= <A HREF="#v%3ARetry" ->Retry</A -></TD -></TR -><TR -><TD CLASS="decl" ->| <A HREF="#v%3AResources" ->Resources</A -> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoAdd" ->toAdd</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoDelete" ->toDelete</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoReturn" ->toReturn</A -> :: b</TD -></TR -></TABLE ->}</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aresources" ->resources</A -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsetCache" ->setCache</A -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Arefcache" ->refcache</A -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefaultCheck" ->defaultCheck</A -> :: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AIDynamic" ->IDynamic</A -> = <SPAN CLASS="keyword" ->forall</SPAN -> a . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a) => <A HREF="#v%3AIDynamic" ->IDynamic</A -> a</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="#t%3ACache" ->Cache</A -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3ADynamicInterface" ->DynamicInterface</A -> x <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AtoIDyn" ->toIDyn</A -> :: x -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AregisterType" ->registerType</A -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AfromIDyn" ->fromIDyn</A -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> x</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AunsafeFromIDyn" ->unsafeFromIDyn</A -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> x</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AKey" ->Key</A -> = <A HREF="#v%3AKey" ->Key</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTMVars" ->getTMVars</A -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTMVarsIO" ->getTMVarsIO</A -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithDResource" ->withDResource</A -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithDResources" ->withDResources</A -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithDSTMResources" ->withDSTMResources</A -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" ->Resources</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> x) -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetDResource" ->getDResource</A -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetDResources" ->getDResources</A -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteDResource" ->deleteDResource</A -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteDResources" ->deleteDResources</A -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->syncCache</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->clearSyncCacheProc</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResource" ->withResource</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> b) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResources" ->withResources</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [b]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithSTMResources" ->withSTMResources</A -> :: <SPAN CLASS="keyword" ->forall</SPAN -> x a b. (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" ->Resources</A -> b x) -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetResource" ->getResource</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetResources" ->getResources</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteResource" ->deleteResource</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteResources" ->deleteResources</A -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Documentation</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:IResource" -><A NAME="t%3AIResource" -></A -></A -><B ->IResource</B -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Interface that must be defined for every object being cached. - <TT -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AreadResource" ->readResource</A -></TT -> and <TT -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwriteResource" ->writeResource</A -></TT -> are implemented by default as read-write to files with its key as filename - <TT -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3Aserialize" ->serialize</A -></TT -> and <TT -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3Adeserialize" ->deserialize</A -></TT -> are specified just to allow these defaults. If you define your own persistence, then - <TT ->serialize</TT -> and <TT ->deserialize</TT -> are not needed. The package Workflow need them anyway. -</P -><P ->minimal definition: keyResource, serialize, deserialize -</P -><P ->While serialize and deserialize are agnostic about the way of converison to strings, either binary or textual, treadp and -tshowp use the monad defined in the RefSerialize package. Both ways of serialization are alternative. one is defined -by default in terms of the other. the RefSerialize monad has been introduced to permit IResource objects to be -serialized as part of larger structures that embody them. This is necessary for the Workdlow package. -</P -><P ->The keyResource string must be a unique since this is used to index it in the hash table. -when accessing a resource, the user must provide a partial object for wich the key can be obtained. -for example: -</P -><PRE ->data Person= Person{name, surname:: String, account :: Int ....) - -keyResource Person n s ...= n++s</PRE -><P ->the data being accesed must have the fields used by keyResource filled. For example -</P -><PRE -> readResource Person {name=<A HREF="John.html" ->John</A ->, surname= <A HREF="Adams.html" ->Adams</A ->}</PRE -><P ->leaving the rest of the fields undefined -</P -><P ->IResource has defaults definitions for all the methods except keyResource - Either one or other serializer must be defiened for default witeResource, readResource and delResource -</P -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:keyResource" -><A NAME="v%3AkeyResource" -></A -></A -><B ->keyResource</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:serialize" -><A NAME="v%3Aserialize" -></A -></A -><B ->serialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deserialize" -><A NAME="v%3Adeserialize" -></A -></A -><B ->deserialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> a</TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:tshowp" -><A NAME="v%3Atshowp" -></A -></A -><B ->tshowp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->serializer in the RefSerialize monad. Either one or other serializer must be defined to use default persistence -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:treadp" -><A NAME="v%3Atreadp" -></A -></A -><B ->treadp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -><TD CLASS="rdoc" ->deserialize in the RefSerilzlize monad. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defPath" -><A NAME="v%3AdefPath" -></A -></A -><B ->defPath</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->additional extension for default file paths or key prefixes -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:readResource" -><A NAME="v%3AreadResource" -></A -></A -><B ->readResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:writeResource" -><A NAME="v%3AwriteResource" -></A -></A -><B ->writeResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:delResource" -><A NAME="v%3AdelResource" -></A -></A -><B ->delResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IResource')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IResource" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Resources" -><A NAME="t%3AResources" -></A -></A -><B ->Resources</B -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->Resources returned by withSTMResources' -</TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Retry" -><A NAME="v%3ARetry" -></A -></A -><B ->Retry</B -></TD -><TD CLASS="rdoc" ->forces a retry -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:Resources" -><A NAME="v%3AResources" -></A -></A -><B ->Resources</B -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="body" COLSPAN="2" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:toAdd" -><A NAME="v%3AtoAdd" -></A -></A -><B ->toAdd</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be inserted back in the cache -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toDelete" -><A NAME="v%3AtoDelete" -></A -></A -><B ->toDelete</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be deleted from the cache and from permanent storage -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toReturn" -><A NAME="v%3AtoReturn" -></A -></A -><B ->toReturn</B -> :: b</TD -><TD CLASS="rdoc" ->result to be returned -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:resources" -><A NAME="v%3Aresources" -></A -></A -><B ->resources</B -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><PRE ->resources= Resources [] [] ()</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:setCache" -><A NAME="v%3AsetCache" -></A -></A -><B ->setCache</B -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->set the cache. this is useful for hot loaded modules that will update an existing cache -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:refcache" -><A NAME="v%3Arefcache" -></A -></A -><B ->refcache</B -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defaultCheck" -><A NAME="v%3AdefaultCheck" -></A -></A -><B ->defaultCheck</B -> :: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -></TR -><TR -><TD CLASS="doc" ->To drop from the cache all the elems not accesed since half the time between now and the last sync - the default check procedure - :: Integer -- current time in seconds - -> Integer --last access time for a given object - -> Integer --last cache syncronization (with the persisten storage) - -> Bool --return true for all the elems not accesed since -half the time between now and the last sync -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:IDynamic" -><A NAME="t%3AIDynamic" -></A -></A -><B ->IDynamic</B -> </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><SPAN CLASS="keyword" ->forall</SPAN -> a . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a) => <A NAME="v:IDynamic" -><A NAME="v%3AIDynamic" -></A -></A -><B ->IDynamic</B -> a</TD -><TD CLASS="rdoc" -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IDynamic')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IDynamic" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Text-Show.html#t%3AShow" ->Show</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A NAME="t:Cache" -><A NAME="t%3ACache" -></A -></A -><B ->Cache</B -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:DynamicInterface" -><A NAME="t%3ADynamicInterface" -></A -></A -><B ->DynamicInterface</B -> x <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->DynamicInterface groups a set of default method calls to handle dynamic objects. It is not necessary to derive instances from it -</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:toIDyn" -><A NAME="v%3AtoIDyn" -></A -></A -><B ->toIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: x</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" ->encapsulates data in a dynamic object -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:registerType" -><A NAME="v%3AregisterType" -></A -></A -><B ->registerType</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> x</TD -><TD CLASS="rdoc" ->registers the deserialize, readp and readResource methods for this data type -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:fromIDyn" -><A NAME="v%3AfromIDyn" -></A -></A -><B ->fromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> x</TD -><TD CLASS="rdoc" ->extract the data from the dynamic object. trows a user error when the cast fails -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:unsafeFromIDyn" -><A NAME="v%3AunsafeFromIDyn" -></A -></A -><B ->unsafeFromIDyn</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> x</TD -><TD CLASS="rdoc" ->unsafe version. -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Key" -><A NAME="t%3AKey" -></A -></A -><B ->Key</B -> </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Key datatype can be used to read any object trough the Dynamic interface. -</P -><PRE -> data Key = Key <TT -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -></TT -> String deriving Typeable</PRE -><P ->Example -</P -><PRE -> mst <- getDResource $ <TT -><A HREF="Data-TCache-TMVar-Dynamic.html#t%3AKey" ->Key</A -></TT -> type keyofDesiredObject - case mst of - Nothing -> error $ "not found "++ key - Just (idyn) -> fromIDyn idyn :: DesiredDatatype}</PRE -></TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Key" -><A NAME="v%3AKey" -></A -></A -><B ->Key</B -> <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeRep" ->TypeRep</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Key')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:Key" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AKey" ->Key</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTMVars" -><A NAME="v%3AgetTMVars" -></A -></A -><B ->getTMVars</B -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)]</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTMVarsIO" -><A NAME="v%3AgetTMVarsIO" -></A -></A -><B ->getTMVarsIO</B -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withDResource" -><A NAME="v%3AwithDResource" -></A -></A -><B ->withDResource</B -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withDResources" -><A NAME="v%3AwithDResources" -></A -></A -><B ->withDResources</B -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withDSTMResources" -><A NAME="v%3AwithDSTMResources" -></A -></A -><B ->withDSTMResources</B -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" ->Resources</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> x) -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getDResource" -><A NAME="v%3AgetDResource" -></A -></A -><B ->getDResource</B -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->)</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getDResources" -><A NAME="v%3AgetDResources" -></A -></A -><B ->getDResources</B -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->]</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteDResource" -><A NAME="v%3AdeleteDResource" -></A -></A -><B ->deleteDResource</B -> :: <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->return error if any resource is not found -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteDResources" -><A NAME="v%3AdeleteDResources" -></A -></A -><B ->deleteDResources</B -> :: [<A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->IDynamic</A ->] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->syncCache</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->clearSyncCacheProc</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResource" -><A NAME="v%3AwithResource" -></A -></A -><B ->withResource</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> b) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResources" -><A NAME="v%3AwithResources" -></A -></A -><B ->withResources</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [b]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withSTMResources" -><A NAME="v%3AwithSTMResources" -></A -></A -><B ->withSTMResources</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <SPAN CLASS="keyword" ->forall</SPAN -> x a b . (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b)</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> [a]</TD -><TD CLASS="rdoc" ->the list of resources to be retrieved -</TD -></TR -><TR -><TD CLASS="arg" ->-> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" ->Resources</A -> b x</TD -><TD CLASS="rdoc" ->The function that process the resources found and return a Resources structure -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -><TD CLASS="rdoc" ->The return value in the STM monad. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getResource" -><A NAME="v%3AgetResource" -></A -></A -><B ->getResource</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b)</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getResources" -><A NAME="v%3AgetResources" -></A -></A -><B ->getResources</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> b, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> b) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> b]</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteResource" -><A NAME="v%3AdeleteResource" -></A -></A -><B ->deleteResource</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a) => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteResources" -><A NAME="v%3AdeleteResources" -></A -></A -><B ->deleteResources</B -> :: (<A HREF="$httptopdir/doc/libraries/base/Data-Typeable.html#t%3ATypeable" ->Typeable</A -> a, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->IResource</A -> a) => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="botbar" ->Produced by <A HREF="http://www.haskell.org/haddock/" ->Haddock</A -> version 2.4.2</TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/Data-TCache-TMVar.html
@@ -1,1463 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.TMVar</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -><SCRIPT TYPE="text/javascript" ->window.onload = function () {setSynopsis("mini_Data-TCache-TMVar.html")};</SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="modulebar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><FONT SIZE="6" ->Data.TCache.TMVar</FONT -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Description</TD -></TR -><TR -><TD CLASS="doc" ->A version of <TT ->Data.TCache</TT -> using <TT ->TMVar</TT ->s instead of <TT ->TVars</TT ->s. See <TT ->Control.Concurrent.TMVar</TT -> -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Synopsis</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3AIResource" ->IResource</A -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AkeyResource" ->keyResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aserialize" ->serialize</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Adeserialize" ->deserialize</A -> :: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -> -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atshowp" ->tshowp</A -> :: a -> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atreadp" ->treadp</A -> :: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefPath" ->defPath</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AreadResource" ->readResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwriteResource" ->writeResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdelResource" ->delResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AResources" ->Resources</A -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" ->= <A HREF="#v%3ARetry" ->Retry</A -></TD -></TR -><TR -><TD CLASS="decl" ->| <A HREF="#v%3AResources" ->Resources</A -> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoAdd" ->toAdd</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoDelete" ->toDelete</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoReturn" ->toReturn</A -> :: b</TD -></TR -></TABLE ->}</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aresources" ->resources</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTMVars" ->getTMVars</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> a)]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTMVarsIO" ->getTMVarsIO</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> a]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithSTMResources" ->withSTMResources</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache-TMVar.html#t%3AResources" ->Resources</A -> a x) -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResources" ->withResources</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [a]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResource" ->withResource</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => a -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> a) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetResources" ->getResources</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->getResource</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->deleteResources</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->deleteResource</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="#t%3ACache" ->Cache</A -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsetCache" ->setCache</A -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AnewCache" ->newCache</A -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Arefcache" ->refcache</A -> :: <A HREF="Data-TCache-TMVar.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->syncCache</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AclearSyncCacheProc" ->clearSyncCacheProc</A -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => <A HREF="Data-TCache-TMVar.html#t%3ACache" ->Cache</A -> a -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> (<A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A ->) -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent.html#t%3AThreadId" ->ThreadId</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefaultCheck" ->defaultCheck</A -> :: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Documentation</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:IResource" -><A NAME="t%3AIResource" -></A -></A -><B ->IResource</B -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Interface that must be defined for every object being cached. - <TT -><A HREF="Data-TCache-TMVar.html#v%3AreadResource" ->readResource</A -></TT -> and <TT -><A HREF="Data-TCache-TMVar.html#v%3AwriteResource" ->writeResource</A -></TT -> are implemented by default as read-write to files with its key as filename - <TT -><A HREF="Data-TCache-TMVar.html#v%3Aserialize" ->serialize</A -></TT -> and <TT -><A HREF="Data-TCache-TMVar.html#v%3Adeserialize" ->deserialize</A -></TT -> are specified just to allow these defaults. If you define your own persistence, then - <TT ->serialize</TT -> and <TT ->deserialize</TT -> are not needed. The package Workflow need them anyway. -</P -><P ->minimal definition: keyResource, serialize, deserialize -</P -><P ->While serialize and deserialize are agnostic about the way of converison to strings, either binary or textual, treadp and -tshowp use the monad defined in the RefSerialize package. Both ways of serialization are alternative. one is defined -by default in terms of the other. the RefSerialize monad has been introduced to permit IResource objects to be -serialized as part of larger structures that embody them. This is necessary for the Workdlow package. -</P -><P ->The keyResource string must be a unique since this is used to index it in the hash table. -when accessing a resource, the user must provide a partial object for wich the key can be obtained. -for example: -</P -><PRE ->data Person= Person{name, surname:: String, account :: Int ....) - -keyResource Person n s ...= n++s</PRE -><P ->the data being accesed must have the fields used by keyResource filled. For example -</P -><PRE -> readResource Person {name=<A HREF="John.html" ->John</A ->, surname= <A HREF="Adams.html" ->Adams</A ->}</PRE -><P ->leaving the rest of the fields undefined -</P -><P ->IResource has defaults definitions for all the methods except keyResource - Either one or other serializer must be defiened for default witeResource, readResource and delResource -</P -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:keyResource" -><A NAME="v%3AkeyResource" -></A -></A -><B ->keyResource</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:serialize" -><A NAME="v%3Aserialize" -></A -></A -><B ->serialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deserialize" -><A NAME="v%3Adeserialize" -></A -></A -><B ->deserialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> a</TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:tshowp" -><A NAME="v%3Atshowp" -></A -></A -><B ->tshowp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->serializer in the RefSerialize monad. Either one or other serializer must be defined to use default persistence -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:treadp" -><A NAME="v%3Atreadp" -></A -></A -><B ->treadp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -><TD CLASS="rdoc" ->deserialize in the RefSerilzlize monad. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defPath" -><A NAME="v%3AdefPath" -></A -></A -><B ->defPath</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->additional extension for default file paths or key prefixes -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:readResource" -><A NAME="v%3AreadResource" -></A -></A -><B ->readResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:writeResource" -><A NAME="v%3AwriteResource" -></A -></A -><B ->writeResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:delResource" -><A NAME="v%3AdelResource" -></A -></A -><B ->delResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IResource')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IResource" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Resources" -><A NAME="t%3AResources" -></A -></A -><B ->Resources</B -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->Resources returned by withSTMResources' -</TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Retry" -><A NAME="v%3ARetry" -></A -></A -><B ->Retry</B -></TD -><TD CLASS="rdoc" ->forces a retry -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:Resources" -><A NAME="v%3AResources" -></A -></A -><B ->Resources</B -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="body" COLSPAN="2" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:toAdd" -><A NAME="v%3AtoAdd" -></A -></A -><B ->toAdd</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be inserted back in the cache -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toDelete" -><A NAME="v%3AtoDelete" -></A -></A -><B ->toDelete</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be deleted from the cache and from permanent storage -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toReturn" -><A NAME="v%3AtoReturn" -></A -></A -><B ->toReturn</B -> :: b</TD -><TD CLASS="rdoc" ->result to be returned -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:resources" -><A NAME="v%3Aresources" -></A -></A -><B ->resources</B -> :: <A HREF="Data-TCache-TMVar.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><PRE ->resources= Resources [] [] ()</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTMVars" -><A NAME="v%3AgetTMVars" -></A -></A -><B ->getTMVars</B -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> a)]</TD -></TR -><TR -><TD CLASS="doc" ->getTMVars return the TMVar that wraps the resources for which the keys are given . - | it return Nothing if a TMVar with this object has not been allocated - These TMVars can be used in explicit user constructed atomic blocks - Additionally, the TMVars remain in the cache and can be accessed and updated by the rest - of the TCache methods. - the content of the TMVars are written every time the cache is syncronized with the storage until releaseTMVars is called -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTMVarsIO" -><A NAME="v%3AgetTMVarsIO" -></A -></A -><B ->getTMVarsIO</B -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/stm/Control-Concurrent-STM-TMVar.html#t%3ATMVar" ->TMVar</A -> a]</TD -></TR -><TR -><TD CLASS="doc" ->getTMVarsIO does not search for a TMVar in the cache like getTMVars. Instead of this getTMVarsIO creates a list of - TMVars with the content given in the list of resourcees and add these TMVars to the cache and return them. - the content of the TMVars are written every time the cache is syncronized with the storage until releaseTMVars is called -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withSTMResources" -><A NAME="v%3AwithSTMResources" -></A -></A -><B ->withSTMResources</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> [a]</TD -><TD CLASS="rdoc" ->the list of resources to be retrieved -</TD -></TR -><TR -><TD CLASS="arg" ->-> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache-TMVar.html#t%3AResources" ->Resources</A -> a x</TD -><TD CLASS="rdoc" ->The function that process the resources found and return a Resources structure -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -><TD CLASS="rdoc" ->The return value in the STM monad. -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" ->this is the main function for the *Resources primitivas, all the rest derive from it. the Res structure processed by the - with*Resources primitives are more efficient for cached TMVars because the internal loop is never retried, since all the necessary - resources at the beginning so no costly retries are necessary. The advantage increases with the complexity of the process - function passed to withSTMResources is interpreted as such: - -toUpdate secton is used to update the retrieved resources in the same order. - if the resource dont exist, it is created. Nothing means do nothing as usual. extra resources are not considered, - it uses the rules of zip. - -toAdd: additional resources not read in the first parameter of withSTMResources are created/updated with toAdd - -toDelete: obvious - -toReturn: will be returned by the call -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResources" -><A NAME="v%3AwithResources" -></A -></A -><B ->withResources</B -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [a]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->to atomically add/modify many objects in the cache - :: (IResource a)=> [a] list of resources to be retrieve - -> ([Maybe a]-> [a]) function that process the retrieved resources - -> IO () and return a list of objects to be inserted/modified -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResource" -><A NAME="v%3AwithResource" -></A -></A -><B ->withResource</B -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => a -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> a) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->update of a single object in the cache - :: (IResource a)=> a same as withResources , but for one only object - -> ([Maybe a]-> a) - -> IO () -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getResources" -><A NAME="v%3AgetResources" -></A -></A -><B ->getResources</B -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a]</TD -></TR -><TR -><TD CLASS="doc" ->to read a resource from the cache -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->getResource</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->deleteResources</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->deleteResource</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A NAME="t:Cache" -><A NAME="t%3ACache" -></A -></A -><B ->Cache</B -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:setCache" -><A NAME="v%3AsetCache" -></A -></A -><B ->setCache</B -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->set the cache. this is useful for hot loaded modules that will update an existing cache -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:newCache" -><A NAME="v%3AnewCache" -></A -></A -><B ->newCache</B -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="doc" ->newCache creates a new cache -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:refcache" -><A NAME="v%3Arefcache" -></A -></A -><B ->refcache</B -> :: <A HREF="Data-TCache-TMVar.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->syncCache</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:clearSyncCacheProc" -><A NAME="v%3AclearSyncCacheProc" -></A -></A -><B ->clearSyncCacheProc</B -> :: <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->IResource</A -> a => <A HREF="Data-TCache-TMVar.html#t%3ACache" ->Cache</A -> a -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> (<A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A ->) -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent.html#t%3AThreadId" ->ThreadId</A -></TD -></TR -><TR -><TD CLASS="doc" ->start the thread that clean and writes on the persistent storage. - Otherwise, clearSyncCache must be invoked explicitly or no persistence will exist - :: (IResource a) =>Cache a --The cache reference - -> Int --number of seconds betwen checks - -> (Integer-> Integer-> Bool) --The user-defined check-for-cleanup-from-cache for each object -(when this function return True, the object is removed from cache) - -> Int --The max number of objects in the cache, if more, the cleanup start - -> >IO ThreadId --Identifier of the thread created -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defaultCheck" -><A NAME="v%3AdefaultCheck" -></A -></A -><B ->defaultCheck</B -> :: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -></TR -><TR -><TD CLASS="doc" ->To drop from the cache all the elems not accesed since half the time between now and the last sync - the default check procedure - :: Integer -- current time in seconds - -> Integer --last access time for a given object - -> Integer --last cache syncronization (with the persisten storage) - -> Bool --return true for all the elems not accesed since -half the time between now and the last sync -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="botbar" ->Produced by <A HREF="http://www.haskell.org/haddock/" ->Haddock</A -> version 2.4.2</TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/Data-TCache.html
@@ -1,1803 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -><SCRIPT TYPE="text/javascript" ->window.onload = function () {setSynopsis("mini_Data-TCache.html")};</SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="modulebar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><FONT SIZE="6" ->Data.TCache</FONT -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Synopsis</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="#t%3AIResource" ->IResource</A -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="#v%3AkeyResource" ->keyResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aserialize" ->serialize</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Adeserialize" ->deserialize</A -> :: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -> -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atshowp" ->tshowp</A -> :: a -> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Atreadp" ->treadp</A -> :: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefPath" ->defPath</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AreadResource" ->readResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwriteResource" ->writeResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdelResource" ->delResource</A -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="#t%3AResources" ->Resources</A -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" ->= <A HREF="#v%3ARetry" ->Retry</A -></TD -></TR -><TR -><TD CLASS="decl" ->| <A HREF="#v%3AResources" ->Resources</A -> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoAdd" ->toAdd</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoDelete" ->toDelete</A -> :: [a]</TD -></TR -><TR -><TD CLASS="recfield" -><A HREF="#v%3AtoReturn" ->toReturn</A -> :: b</TD -></TR -></TABLE ->}</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Aresources" ->resources</A -> :: <A HREF="Data-TCache.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTVars" ->getTVars</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> a)]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AreleaseTVars" ->releaseTVars</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetTVarsIO" ->getTVarsIO</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> a]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithSTMResources" ->withSTMResources</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache.html#t%3AResources" ->Resources</A -> a x) -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResources" ->withResources</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [a]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AwithResource" ->withResource</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => a -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> a) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetResources" ->getResources</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a]</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AgetResource" ->getResource</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteResources" ->deleteResources</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdeleteResource" ->deleteResource</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="#t%3ACache" ->Cache</A -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsetCache" ->setCache</A -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AnewCache" ->newCache</A -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3Arefcache" ->refcache</A -> :: <A HREF="Data-TCache.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AsyncCache" ->syncCache</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => <A HREF="Data-TCache.html#t%3ACache" ->Cache</A -> a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AclearSyncCacheProc" ->clearSyncCacheProc</A -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => <A HREF="Data-TCache.html#t%3ACache" ->Cache</A -> a -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> (<A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A ->) -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -> -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent.html#t%3AThreadId" ->ThreadId</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="#v%3AdefaultCheck" ->defaultCheck</A -> :: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="section1" ->Documentation</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A NAME="t:IResource" -><A NAME="t%3AIResource" -></A -></A -><B ->IResource</B -> a <SPAN CLASS="keyword" ->where</SPAN -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" -><P ->Interface that must be defined for every object being cached. - <TT -><A HREF="Data-TCache.html#v%3AreadResource" ->readResource</A -></TT -> and <TT -><A HREF="Data-TCache.html#v%3AwriteResource" ->writeResource</A -></TT -> are implemented by default as read-write to files with its key as filename - <TT -><A HREF="Data-TCache.html#v%3Aserialize" ->serialize</A -></TT -> and <TT -><A HREF="Data-TCache.html#v%3Adeserialize" ->deserialize</A -></TT -> are specified just to allow these defaults. If you define your own persistence, then - <TT ->serialize</TT -> and <TT ->deserialize</TT -> are not needed. The package Workflow need them anyway. -</P -><P ->minimal definition: keyResource, serialize, deserialize -</P -><P ->While serialize and deserialize are agnostic about the way of converison to strings, either binary or textual, treadp and -tshowp use the monad defined in the RefSerialize package. Both ways of serialization are alternative. one is defined -by default in terms of the other. the RefSerialize monad has been introduced to permit IResource objects to be -serialized as part of larger structures that embody them. This is necessary for the Workdlow package. -</P -><P ->The keyResource string must be a unique since this is used to index it in the hash table. -when accessing a resource, the user must provide a partial object for wich the key can be obtained. -for example: -</P -><PRE ->data Person= Person{name, surname:: String, account :: Int ....) - -keyResource Person n s ...= n++s</PRE -><P ->the data being accesed must have the fields used by keyResource filled. For example -</P -><PRE -> readResource Person {name=<A HREF="John.html" ->John</A ->, surname= <A HREF="Adams.html" ->Adams</A ->}</PRE -><P ->leaving the rest of the fields undefined -</P -><P ->IResource has defaults definitions for all the methods except keyResource - Either one or other serializer must be defiened for default witeResource, readResource and delResource -</P -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" ->Methods</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A NAME="v:keyResource" -><A NAME="v%3AkeyResource" -></A -></A -><B ->keyResource</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:serialize" -><A NAME="v%3Aserialize" -></A -></A -><B ->serialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deserialize" -><A NAME="v%3Adeserialize" -></A -></A -><B ->deserialize</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> a</TD -><TD CLASS="rdoc" ->must be defined by the user -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:tshowp" -><A NAME="v%3Atshowp" -></A -></A -><B ->tshowp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->serializer in the RefSerialize monad. Either one or other serializer must be defined to use default persistence -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:treadp" -><A NAME="v%3Atreadp" -></A -></A -><B ->treadp</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="C:\Archivos de programa\Haskell\doc\RefSerialize-0.2.4\html/Data-Parser.html#t%3AST" ->ST</A -> a</TD -><TD CLASS="rdoc" ->deserialize in the RefSerilzlize monad. -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defPath" -><A NAME="v%3AdefPath" -></A -></A -><B ->defPath</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Char.html#t%3AString" ->String</A -></TD -><TD CLASS="rdoc" ->additional extension for default file paths or key prefixes -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:readResource" -><A NAME="v%3AreadResource" -></A -></A -><B ->readResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:writeResource" -><A NAME="v%3AwriteResource" -></A -></A -><B ->writeResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:delResource" -><A NAME="v%3AdelResource" -></A -></A -><B ->delResource</B -> :: a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s8" -></TD -></TR -><TR -><TD CLASS="section4" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IResource')" ALT="show/hide" -> Instances</TD -></TR -><TR -><TD CLASS="body" -><DIV ID="i:IResource" STYLE="display:block;" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="decl" -><A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AKey" ->Key</A -></TD -></TR -><TR -><TD CLASS="decl" -><A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->IDynamic</A -></TD -></TR -></TABLE -></DIV -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A NAME="t:Resources" -><A NAME="t%3AResources" -></A -></A -><B ->Resources</B -> a b </TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="ndoc" ->Resources returned by withSTMResources' -</TD -></TR -><TR -><TD CLASS="section4" ->Constructors</TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:Retry" -><A NAME="v%3ARetry" -></A -></A -><B ->Retry</B -></TD -><TD CLASS="rdoc" ->forces a retry -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:Resources" -><A NAME="v%3AResources" -></A -></A -><B ->Resources</B -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="body" COLSPAN="2" -><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" -><TR -><TD CLASS="arg" -><A NAME="v:toAdd" -><A NAME="v%3AtoAdd" -></A -></A -><B ->toAdd</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be inserted back in the cache -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toDelete" -><A NAME="v%3AtoDelete" -></A -></A -><B ->toDelete</B -> :: [a]</TD -><TD CLASS="rdoc" ->resources to be deleted from the cache and from permanent storage -</TD -></TR -><TR -><TD CLASS="arg" -><A NAME="v:toReturn" -><A NAME="v%3AtoReturn" -></A -></A -><B ->toReturn</B -> :: b</TD -><TD CLASS="rdoc" ->result to be returned -</TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:resources" -><A NAME="v%3Aresources" -></A -></A -><B ->resources</B -> :: <A HREF="Data-TCache.html#t%3AResources" ->Resources</A -> a <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><PRE ->resources= Resources [] [] ()</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTVars" -><A NAME="v%3AgetTVars" -></A -></A -><B ->getTVars</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> [a]</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> (<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> a)]</TD -><TD CLASS="rdoc" ->The TVars that contain such objects -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" ->getTVars return the TVar that wraps the resources for which the keys are given . - | it return <TT ->Nothing</TT -> if a TVar with this object has not been allocated - These TVars can be used as usual in explicit user constructed atomic blocks - Additionally, the retrieved TVars remain in the cache and can be accessed and updated by the rest - of the TCache methods. - to keep the consistence in the serialized data, the content of the TVars are written every time the cache is syncronized with the storage until releaseTVars is called -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:releaseTVars" -><A NAME="v%3AreleaseTVars" -></A -></A -><B ->releaseTVars</B -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->releaseTVars permits the TVars captured by getTVars to be released. so they can be discarded when not used. - Do this when you no longer need to use them directly in atomic blocks. -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getTVarsIO" -><A NAME="v%3AgetTVarsIO" -></A -></A -><B ->getTVarsIO</B -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ATVar" ->TVar</A -> a]</TD -></TR -><TR -><TD CLASS="doc" ->getTVarsIO does not search for a TVar in the cache like getTVars. Instead of this getTVarsIO creates a list of - TVars with the content given in the list of resourcees and add these TVars to the cache and return them. - the content of the TVars are written every time the cache is syncronized with the storage until releaseTVars is called -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withSTMResources" -><A NAME="v%3AwithSTMResources" -></A -></A -><B ->withSTMResources</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> [a]</TD -><TD CLASS="rdoc" ->the list of resources to be retrieved -</TD -></TR -><TR -><TD CLASS="arg" ->-> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> <A HREF="Data-TCache.html#t%3AResources" ->Resources</A -> a x</TD -><TD CLASS="rdoc" ->The function that process the resources found and return a Resources structure -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/GHC-Conc.html#t%3ASTM" ->STM</A -> x</TD -><TD CLASS="rdoc" ->The return value in the STM monad. -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" -><P ->this is the main function for the *Resource calls. All the rest derive from it. The results are kept in the STM monad - so it can be part of a larger STM transaction involving other TVars - The <TT -><A HREF="Data-TCache.html#t%3AResources" ->Resources</A -></TT -> register returned by the user-defined function is interpreted as such: -</P -><P -><TT -><A HREF="Data-TCache.html#v%3AtoAdd" ->toAdd</A -></TT ->: additional resources not read in the first parameter of withSTMResources are created/updated with toAdd -</P -><P -><TT -><A HREF="Data-TCache.html#v%3AtoDelete" ->toDelete</A -></TT ->: from the cache and from permanent storage -</P -><P -><TT -><A HREF="Data-TCache.html#v%3AtoReturn" ->toReturn</A -></TT ->: will be returned by withSTMResources -</P -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResources" -><A NAME="v%3AwithResources" -></A -></A -><B ->withResources</B -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> ([<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a] -> [a]) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><P ->to atomically add/modify many objects in the cache -</P -><PRE -> withResources rs f= atomically $ withSTMResources rs f1 >> return() where f1 mrs= let as= f mrs in Resources as [] ()</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:withResource" -><A NAME="v%3AwithResource" -></A -></A -><B ->withResource</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> a</TD -><TD CLASS="rdoc" ->prototypes of the object to be retrieved for which keyResource can be derived -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a -> a</TD -><TD CLASS="rdoc" ->update function that return another full object -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" -><P ->update of a single object in the cache -</P -><PRE ->withResource r f= withResources [r] ([mr]-> [f mr])</PRE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getResources" -><A NAME="v%3AgetResources" -></A -></A -><B ->getResources</B -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> [<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a]</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:getResource" -><A NAME="v%3AgetResource" -></A -></A -><B ->getResource</B -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (<A HREF="$httptopdir/doc/libraries/base/Data-Maybe.html#t%3AMaybe" ->Maybe</A -> a)</TD -></TR -><TR -><TD CLASS="doc" -><P ->to read a resource from the cache. -</P -><PRE ->getResource r= do{mr<- getResources [r];return $! head mr}</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteResources" -><A NAME="v%3AdeleteResources" -></A -></A -><B ->deleteResources</B -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => [a] -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><P ->delete the list of resources from cache and from persistent storage. -</P -><PRE -> deleteResources rs= atomically $ withSTMResources rs f1 where f1 mrs = Resources [] (catMaybes mrs) ()</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:deleteResource" -><A NAME="v%3AdeleteResource" -></A -></A -><B ->deleteResource</B -> :: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a => a -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" -><P ->delete the resource from cache and from persistent storage. -</P -><PRE -> deleteResource r= deleteResources [r]</PRE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A NAME="t:Cache" -><A NAME="t%3ACache" -></A -></A -><B ->Cache</B -> a = <A HREF="$httptopdir/doc/libraries/base/Data-IORef.html#t%3AIORef" ->IORef</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:setCache" -><A NAME="v%3AsetCache" -></A -></A -><B ->setCache</B -> :: (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->) -> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -></TR -><TR -><TD CLASS="doc" ->set the cache. this is useful for hot loaded modules that will update an existing cache. Experimental -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:newCache" -><A NAME="v%3AnewCache" -></A -></A -><B ->newCache</B -> :: <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> (Ht a, <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A ->)</TD -></TR -><TR -><TD CLASS="doc" ->newCache creates a new cache. Experimental -</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:refcache" -><A NAME="v%3Arefcache" -></A -></A -><B ->refcache</B -> :: <A HREF="Data-TCache.html#t%3ACache" ->Cache</A -> a</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:syncCache" -><A NAME="v%3AsyncCache" -></A -></A -><B ->syncCache</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> <A HREF="Data-TCache.html#t%3ACache" ->Cache</A -> a</TD -><TD CLASS="rdoc" ->the cache reference ( <TT -><A HREF="Data-TCache.html#v%3Arefcache" ->refcache</A -></TT -> usually) -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" ->()</A -></TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" ->Force the atomic write of all the cached objects into permanent storage - useful for termination -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:clearSyncCacheProc" -><A NAME="v%3AclearSyncCacheProc" -></A -></A -><B ->clearSyncCacheProc</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="Data-TCache.html#t%3AIResource" ->IResource</A -> a</TD -><TD CLASS="rdoc" -></TD -></TR -><TR -><TD CLASS="arg" ->=> <A HREF="Data-TCache.html#t%3ACache" ->Cache</A -> a</TD -><TD CLASS="rdoc" ->The cache reference (<TT -><A HREF="Data-TCache.html#v%3Arefcache" ->refcache</A -></TT -> usually) -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -></TD -><TD CLASS="rdoc" ->number of seconds betwen checks. objects not written to disk are written -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -> -> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -><TD CLASS="rdoc" ->The user-defined check-for-cleanup-from-cache for each object. <TT -><A HREF="Data-TCache.html#v%3AdefaultCheck" ->defaultCheck</A -></TT -> is an example -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Types.html#t%3AInt" ->Int</A -></TD -><TD CLASS="rdoc" ->The max number of objects in the cache, if more, the cleanup starts -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/base/System-IO.html#t%3AIO" ->IO</A -> <A HREF="$httptopdir/doc/libraries/base/Control-Concurrent.html#t%3AThreadId" ->ThreadId</A -></TD -><TD CLASS="rdoc" ->Identifier of the thread created -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" -><P ->Cache handling -</P -><P ->Start the thread that clean and writes on the persistent storage. - Otherwise, clearSyncCache must be invoked explicitly or no persistence will exist - :: (IResource a) =>Cache a - -> Int --number of seconds betwen checks - -> (Integer-> Integer-> Bool) --The user-defined check-for-cleanup-from-cache for each object -(when this function return True, the object is removed from cache) - -> Int --The max number of objects in the cache, if more, the cleanup start - -> >IO ThreadId --Identifier of the thread created -</P -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" -><A NAME="v:defaultCheck" -><A NAME="v%3AdefaultCheck" -></A -></A -><B ->defaultCheck</B -></TD -></TR -><TR -><TD CLASS="body" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="arg" ->:: <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -><TD CLASS="rdoc" ->current time in seconds -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -><TD CLASS="rdoc" ->last access time for a given object -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/integer/GHC-Integer.html#t%3AInteger" ->Integer</A -></TD -><TD CLASS="rdoc" ->last cache syncronization (with the persisten storage) -</TD -></TR -><TR -><TD CLASS="arg" ->-> <A HREF="$httptopdir/doc/libraries/ghc-prim/GHC-Bool.html#t%3ABool" ->Bool</A -></TD -><TD CLASS="rdoc" ->return true for all the elems not accesed since half the time between now and the last sync -</TD -></TR -><TR -><TD CLASS="ndoc" COLSPAN="2" ->To drop from the cache all the elems not accesed since half the time between now and the last sync - ths is a default cache clearance procedure -- it is invoke when the cache size exceeds the defined in <TT -><A HREF="Data-TCache.html#v%3AclearSyncCacheProc" ->clearSyncCacheProc</A -></TT -> -</TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="decl" ->readFileStrict</TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="botbar" ->Produced by <A HREF="http://www.haskell.org/haddock/" ->Haddock</A -> version 2.4.2</TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/TCache.haddock
binary file changed (54791 → absent bytes)
− dist/doc/html/TCache/doc-index.html
@@ -1,1166 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->TCache-0.6.4: A Transactional data cache with configurable persistence (Index)</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD COLSPAN="2" STYLE="padding-top:5px;" -><FORM onsubmit="full_search(); return false;" ACTION="" ->Search: <INPUT ID="searchbox" onkeyup="quick_search()" -> <INPUT VALUE="Search" TYPE="submit" -> <SPAN ID="searchmsg" -> </SPAN -></FORM -></TD -></TR -><TR -><TD -><TABLE ID="indexlist" CELLPADDING="0" CELLSPACING="5" -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->AccessTime</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#t%3AAccessTime" ->Data.TCache.IResource</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->Cache</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Type/Class)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#t%3ACache" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3ACache" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Type/Class)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#t%3ACache" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#t%3ACache" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->clearSyncCacheProc</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AclearSyncCacheProc" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" ->Data.TCache.TMVar.Dynamic</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AclearSyncCacheProc" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AclearSyncCacheProc" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->defaultCheck</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AdefaultCheck" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdefaultCheck" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AdefaultCheck" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AdefaultCheck" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->defPath</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AdefPath" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AdefPath" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdefPath" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AdefPath" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AdefPath" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->deleteDResource</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteDResource" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteDResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->deleteDResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteDResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteDResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->deleteResource</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" ->Data.TCache.TMVar</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteResource" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AdeleteResource" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->deleteResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" ->Data.TCache.TMVar</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AdeleteResources" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->delResource</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AdelResource" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AdelResource" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdelResource" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AdelResource" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AdelResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->deserialize</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3Adeserialize" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3Adeserialize" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3Adeserialize" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3Adeserialize" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3Adeserialize" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->DynamicInterface</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#t%3ADynamicInterface" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3ADynamicInterface" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#t%3ADynamicInterface" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->fromIDyn</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3AfromIDyn" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AfromIDyn" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AfromIDyn" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getDResource</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetDResource" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AgetDResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getDResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetDResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AgetDResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getResource</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" ->Data.TCache.TMVar</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetResource" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AgetResource" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AgetResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AgetResources" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AgetResources" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AgetResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getTMVars</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AgetTMVars" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetTMVars" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getTMVarsIO</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AgetTMVarsIO" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetTMVarsIO" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getTVars</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AgetTVars" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AgetTVars" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->getTVarsIO</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AgetTVarsIO" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AgetTVarsIO" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->hash</TD -><TD CLASS="indexlinks" ->Data.TCache.IDynamic</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->IDynamic</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Type/Class)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Data Constructor)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3AIDynamic" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AIDynamic" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AIDynamic" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->infinite</TD -><TD CLASS="indexlinks" ->Data.TCache.IResource</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->IResource</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#t%3AIResource" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#t%3AIResource" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#t%3AIResource" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#t%3AIResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->Key</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Type/Class)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#t%3AKey" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AKey" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#t%3AKey" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Data Constructor)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3AKey" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AKey" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AKey" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->keyResource</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AkeyResource" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AkeyResource" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AkeyResource" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AkeyResource" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AkeyResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->list</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3Alist" ->Data.TCache.IDynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->ModifTime</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#t%3AModifTime" ->Data.TCache.IResource</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->newCache</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AnewCache" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AnewCache" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->readFileStrict</TD -><TD CLASS="indexlinks" ->Data.TCache.IResource, Data.TCache.TMVar, Data.TCache.TMVar.Dynamic, Data.TCache, Data.TCache.Dynamic</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->readResource</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AreadResource" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AreadResource" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AreadResource" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AreadResource" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AreadResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->refcache</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3Arefcache" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3Arefcache" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3Arefcache" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3Arefcache" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->registerType</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3AregisterType" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AregisterType" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AregisterType" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->releaseTVars</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AreleaseTVars" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AreleaseTVars" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->Resources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Type/Class)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#t%3AResources" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#t%3AResources" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#t%3AResources" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#t%3AResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Data Constructor)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AResources" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AResources" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AResources" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AResources" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->resources</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3Aresources" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3Aresources" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3Aresources" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3Aresources" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3Aresources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->Retry</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3ARetry" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3ARetry" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3ARetry" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3ARetry" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3ARetry" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->safeFromIDyn</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3AsafeFromIDyn" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AsafeFromIDyn" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->serialize</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3Aserialize" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3Aserialize" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3Aserialize" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3Aserialize" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3Aserialize" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->setCache</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AsetCache" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AsetCache" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AsetCache" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AsetCache" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->syncCache</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" ->Data.TCache.TMVar</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" ->Data.TCache.TMVar.Dynamic</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AsyncCache" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AsyncCache" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->toAdd</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AtoAdd" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AtoAdd" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AtoAdd" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AtoAdd" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AtoAdd" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->toDelete</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AtoDelete" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AtoDelete" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AtoDelete" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AtoDelete" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AtoDelete" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->toIDyn</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3AtoIDyn" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AtoIDyn" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AtoIDyn" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->toReturn</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AtoReturn" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AtoReturn" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AtoReturn" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AtoReturn" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AtoReturn" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->treadp</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3Atreadp" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3Atreadp" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3Atreadp" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3Atreadp" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3Atreadp" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->tshowp</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3Atshowp" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3Atshowp" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3Atshowp" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3Atshowp" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3Atshowp" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->unsafeFromIDyn</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IDynamic.html#v%3AunsafeFromIDyn" ->Data.TCache.IDynamic</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AunsafeFromIDyn" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AunsafeFromIDyn" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->withDResource</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithDResource" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AwithDResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->withDResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithDResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AwithDResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->withDSTMResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithDSTMResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AwithDSTMResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->withResource</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AwithResource" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithResource" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AwithResource" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AwithResource" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->withResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AwithResources" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AwithResources" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AwithResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" COLSPAN="2" ->withSTMResources</TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->1 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar.html#v%3AwithSTMResources" ->Data.TCache.TMVar</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->2 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithSTMResources" ->Data.TCache.TMVar.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->3 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache.html#v%3AwithSTMResources" ->Data.TCache</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexannot" ->4 (Function)</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-Dynamic.html#v%3AwithSTMResources" ->Data.TCache.Dynamic</A -></TD -></TR -><TR CLASS="indexrow" -><TD CLASS="indexentry" ->writeResource</TD -><TD CLASS="indexlinks" -><A HREF="Data-TCache-IResource.html#v%3AwriteResource" ->Data.TCache.IResource</A ->, <A HREF="Data-TCache-TMVar.html#v%3AwriteResource" ->Data.TCache.TMVar</A ->, <A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwriteResource" ->Data.TCache.TMVar.Dynamic</A ->, <A HREF="Data-TCache.html#v%3AwriteResource" ->Data.TCache</A ->, <A HREF="Data-TCache-Dynamic.html#v%3AwriteResource" ->Data.TCache.Dynamic</A -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/frames.html
@@ -1,27 +0,0 @@-<html> -<head> -<script type="text/javascript"><!-- -/* - - The synopsis frame needs to be updated using javascript, so we hide - it by default and only show it if javascript is enabled. - - TODO: provide some means to disable it. -*/ -function load() { - var d = document.getElementById("inner-fs"); - d.rows = "50%,50%"; -} ---></script> -<frameset id="outer-fs" cols="25%,75%" onload="load()"> - <frameset id="inner-fs" rows="100%,0%"> - - <frame src="index-frames.html" name="modules"> - <frame src="" name="synopsis"> - - </frameset> - <frame src="index.html" name="main"> - -</frameset> - -</html>
− dist/doc/html/TCache/haddock-util.js
@@ -1,139 +0,0 @@-// Haddock JavaScript utilities -function toggle(button,id) -{ - var n = document.getElementById(id).style; - if (n.display == "none") - { - button.src = "minus.gif"; - n.display = "block"; - } - else - { - button.src = "plus.gif"; - n.display = "none"; - } -} - - -var max_results = 75; // 50 is not enough to search for map in the base libraries -var shown_range = null; -var last_search = null; - -function quick_search() -{ - perform_search(false); -} - -function full_search() -{ - perform_search(true); -} - - -function perform_search(full) -{ - var text = document.getElementById("searchbox").value.toLowerCase(); - if (text == last_search && !full) return; - last_search = text; - - var table = document.getElementById("indexlist"); - var status = document.getElementById("searchmsg"); - var children = table.firstChild.childNodes; - - // first figure out the first node with the prefix - var first = bisect(-1); - var last = (first == -1 ? -1 : bisect(1)); - - if (first == -1) - { - table.className = ""; - status.innerHTML = "No results found, displaying all"; - } - else if (first == 0 && last == children.length - 1) - { - table.className = ""; - status.innerHTML = ""; - } - else if (last - first >= max_results && !full) - { - table.className = ""; - status.innerHTML = "More than " + max_results + ", press Search to display"; - } - else - { - // decide what you need to clear/show - if (shown_range) - setclass(shown_range[0], shown_range[1], "indexrow"); - setclass(first, last, "indexshow"); - shown_range = [first, last]; - table.className = "indexsearch"; - status.innerHTML = ""; - } - - - function setclass(first, last, status) - { - for (var i = first; i <= last; i++) - { - children[i].className = status; - } - } - - - // do a binary search, treating 0 as ... - // return either -1 (no 0's found) or location of most far match - function bisect(dir) - { - var first = 0, finish = children.length - 1; - var mid, success = false; - - while (finish - first > 3) - { - mid = Math.floor((finish + first) / 2); - - var i = checkitem(mid); - if (i == 0) i = dir; - if (i == -1) - finish = mid; - else - first = mid; - } - var a = (dir == 1 ? first : finish); - var b = (dir == 1 ? finish : first); - for (var i = b; i != a - dir; i -= dir) - { - if (checkitem(i) == 0) return i; - } - return -1; - } - - - // from an index, decide what the result is - // 0 = match, -1 is lower, 1 is higher - function checkitem(i) - { - var s = getitem(i).toLowerCase().substr(0, text.length); - if (s == text) return 0; - else return (s > text ? -1 : 1); - } - - - // from an index, get its string - // this abstracts over alternates - function getitem(i) - { - for ( ; i >= 0; i--) - { - var s = children[i].firstChild.firstChild.data; - if (s.indexOf(' ') == -1) - return s; - } - return ""; // should never be reached - } -} - -function setSynopsis(filename) { - if (parent.window.synopsis) { - parent.window.synopsis.location = filename; - } -}
− dist/doc/html/TCache/haddock.css
@@ -1,297 +0,0 @@-/* -------- Global things --------- */ - -BODY { - background-color: #ffffff; - color: #000000; - font-family: sans-serif; - padding: 0 0; - } - -A:link { color: #0000e0; text-decoration: none } -A:visited { color: #0000a0; text-decoration: none } -A:hover { background-color: #e0e0ff; text-decoration: none } - -TABLE.vanilla { - width: 100%; - border-width: 0px; - /* I can't seem to specify cellspacing or cellpadding properly using CSS... */ -} - -TABLE.vanilla2 { - border-width: 0px; -} - -/* <TT> font is a little too small in MSIE */ -TT { font-size: 100%; } -PRE { font-size: 100%; } - -LI P { margin: 0pt } - -TD { - border-width: 0px; -} - -TABLE.narrow { - border-width: 0px; -} - -TD.s8 { height: 8px; } -TD.s15 { height: 15px; } - -SPAN.keyword { text-decoration: underline; } - -/* Resize the buttom image to match the text size */ -IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em } - -/* --------- Contents page ---------- */ - -DIV.node { - padding-left: 3em; -} - -DIV.cnode { - padding-left: 1.75em; -} - -SPAN.pkg { - position: absolute; - left: 50em; -} - -/* --------- Documentation elements ---------- */ - -TD.children { - padding-left: 25px; - } - -TD.synopsis { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace - } - -TD.decl { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - vertical-align: top; - } - -TD.topdecl { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - vertical-align: top; -} - -TABLE.declbar { - border-spacing: 0px; - } - -TD.declname { - width: 100%; - } - -TD.declbut { - padding-left: 5px; - padding-right: 5px; - border-left-width: 1px; - border-left-color: #000099; - border-left-style: solid; - white-space: nowrap; - font-size: small; - } - -/* - arg is just like decl, except that wrapping is not allowed. It is - used for function and constructor arguments which have a text box - to the right, where if wrapping is allowed the text box squashes up - the declaration by wrapping it. -*/ -TD.arg { - padding: 2px; - background-color: #f0f0f0; - font-family: monospace; - vertical-align: top; - white-space: nowrap; - } - -TD.recfield { padding-left: 20px } - -TD.doc { - padding-top: 2px; - padding-left: 10px; - } - -TD.ndoc { - padding: 2px; - } - -TD.rdoc { - padding: 2px; - padding-left: 10px; - width: 100%; - } - -TD.body { - padding-left: 10px - } - -TD.pkg { - width: 100%; - padding-left: 10px -} - -TABLE.indexsearch TR.indexrow { - display: none; -} -TABLE.indexsearch TR.indexshow { - display: table-row; -} - -TD.indexentry { - vertical-align: top; - padding-right: 10px - } - -TD.indexannot { - vertical-align: top; - padding-left: 20px; - white-space: nowrap - } - -TD.indexlinks { - width: 100% - } - -/* ------- Section Headings ------- */ - -TD.section1 { - padding-top: 15px; - font-weight: bold; - font-size: 150% - } - -TD.section2 { - padding-top: 10px; - font-weight: bold; - font-size: 130% - } - -TD.section3 { - padding-top: 5px; - font-weight: bold; - font-size: 110% - } - -TD.section4 { - font-weight: bold; - font-size: 100% - } - -/* -------------- The title bar at the top of the page */ - -TD.infohead { - color: #ffffff; - font-weight: bold; - padding-right: 10px; - text-align: left; -} - -TD.infoval { - color: #ffffff; - padding-right: 10px; - text-align: left; -} - -TD.topbar { - background-color: #000099; - padding: 5px; -} - -TD.title { - color: #ffffff; - padding-left: 10px; - width: 100% - } - -TD.topbut { - padding-left: 5px; - padding-right: 5px; - border-left-width: 1px; - border-left-color: #ffffff; - border-left-style: solid; - white-space: nowrap; - } - -TD.topbut A:link { - color: #ffffff - } - -TD.topbut A:visited { - color: #ffff00 - } - -TD.topbut A:hover { - background-color: #6060ff; - } - -TD.topbut:hover { - background-color: #6060ff - } - -TD.modulebar { - background-color: #0077dd; - padding: 5px; - border-top-width: 1px; - border-top-color: #ffffff; - border-top-style: solid; - } - -/* --------- The page footer --------- */ - -TD.botbar { - background-color: #000099; - color: #ffffff; - padding: 5px - } -TD.botbar A:link { - color: #ffffff; - text-decoration: underline - } -TD.botbar A:visited { - color: #ffff00 - } -TD.botbar A:hover { - background-color: #6060ff - } - -/* --------- Mini Synopsis for Frame View --------- */ - -.outer { - margin: 0 0; - padding: 0 0; -} - -.mini-synopsis { - padding: 0.25em 0.25em; -} - -.mini-synopsis H1 { font-size: 130%; } -.mini-synopsis H2 { font-size: 110%; } -.mini-synopsis H3 { font-size: 100%; } -.mini-synopsis H1, .mini-synopsis H2, .mini-synopsis H3 { - margin-top: 0.5em; - margin-bottom: 0.25em; - padding: 0 0; -} - -.mini-synopsis H1 { border-bottom: 1px solid #ccc; } - -.mini-topbar { - font-size: 130%; - background: #0077dd; - padding: 0.25em; -} - -
− dist/doc/html/TCache/haskell_icon.gif
binary file changed (911 → absent bytes)
− dist/doc/html/TCache/index-frames.html
@@ -1,37 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->TCache-0.6.4: A Transactional data cache with configurable persistence</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><P -><A HREF="Data-TCache.html" TARGET="main" ->Data.TCache</A -><BR -><A HREF="Data-TCache-Dynamic.html" TARGET="main" ->Data.TCache.Dynamic</A -><BR -><A HREF="Data-TCache-IDynamic.html" TARGET="main" ->Data.TCache.IDynamic</A -><BR -><A HREF="Data-TCache-IResource.html" TARGET="main" ->Data.TCache.IResource</A -><BR -><A HREF="Data-TCache-TMVar.html" TARGET="main" ->Data.TCache.TMVar</A -><BR -><A HREF="Data-TCache-TMVar-Dynamic.html" TARGET="main" ->Data.TCache.TMVar.Dynamic</A -><BR -></P -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/index.html
@@ -1,211 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->TCache-0.6.4: A Transactional data cache with configurable persistence</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD CLASS="topbar" -><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" -><TR -><TD -><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " -></TD -><TD CLASS="title" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -><TD CLASS="topbut" -><A HREF="index.html" ->Contents</A -></TD -><TD CLASS="topbut" -><A HREF="doc-index.html" ->Index</A -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="section1" ->TCache-0.6.4: A Transactional data cache with configurable persistence</TD -></TR -><TR -><TD CLASS="doc" -><P ->Data.Tcache is a transactional cache with configurable persistence. It tries to simulate Hibernate -for Java or Rails for Ruby. The main difference is that transactions are done in memory trough STM. -There are transactional cache implementations for some J2EE servers like JBOSS. -</P -><P ->TCache uses STM. It can atomically apply a function to a list of cached objects. The resulting -objects go back to the cache (withResources). It also can retrieve these objects (getResources). -Persistence can be syncronous (syncCache) or asyncronous, wtih configurable time between cache -writes and configurable cache clearance strategy. the size of the cache can be configured too . -All of this can be done trough clearSyncCacheProc. Even the TVar variables can be accessed -directly (getTVar) to acceess all the semantic of atomic blocks while maintaining the persistence of the -TVar updates. -</P -><P ->Persistence can be defined for each object: Each object must have a defined key, a default filename -path (if applicable). Persistence is pre-defined in files, but the readResource writeResource and -delResource methods can be redefined to persist in databases or whatever. -</P -><P ->Serialization is also configurable. -</P -><P ->There are Samples here that explain the main features. -</P -><P ->In this release -</P -><UL -><LI -> added withSTMResources. Most of the rest of the methods are derived from withSTMResources . the results are returned in the STM monad, so this method can be part of al larger STM transaction -It also can perforn used defined retries. -</LI -><LI -> added modules for cached TMVars -Data.TCache.TMVar and Data.TCache.TMVar.Dynamic uses TMVars instead of TVars (See Control.Concurrent.STM.TMVar) -</LI -></UL -><P ->It is not possible tu mix TVars and TMVars packages in the same executable. However code that uses dynamic and non dynamic can -can be mixed -</P -><UL -><LI -> Data.TCache - cached TVars of object of type a. -</LI -><LI -> Data.TCache.Dynamic - cached TVars of objects of type IDynamic. -</LI -><LI -> Data.TCache.TMVar - cached TMVars of objects of type a. -</LI -><LI -> Data.TCache..TMVar.Dynamic - cached TMVars of objects of type IDynamic. -</LI -></UL -></TD -></TR -><TR -><TD CLASS="section1" ->Modules</TD -></TR -><TR -><TD -><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" -><TR -><TD STYLE="width: 50em" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:0')" ALT="show/hide" ->Data</TD -><TD -></TD -><TD -></TD -></TR -><TR -><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3" -><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:0" STYLE="display:block;" -><TR -><TD STYLE="width: 48em" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:1')" ALT="show/hide" -><A HREF="Data-TCache.html" ->Data.TCache</A -></TD -><TD -></TD -><TD -></TD -></TR -><TR -><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3" -><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:1" STYLE="display:block;" -><TR -><TD STYLE="padding-left: 1.25em;width: 46em" -><A HREF="Data-TCache-Dynamic.html" ->Data.TCache.Dynamic</A -></TD -><TD -></TD -><TD -></TD -></TR -><TR -><TD STYLE="padding-left: 1.25em;width: 46em" -><A HREF="Data-TCache-IDynamic.html" ->Data.TCache.IDynamic</A -></TD -><TD -></TD -><TD -></TD -></TR -><TR -><TD STYLE="padding-left: 1.25em;width: 46em" -><A HREF="Data-TCache-IResource.html" ->Data.TCache.IResource</A -></TD -><TD -></TD -><TD -></TD -></TR -><TR -><TD STYLE="width: 46em" -><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:2')" ALT="show/hide" -><A HREF="Data-TCache-TMVar.html" ->Data.TCache.TMVar</A -></TD -><TD -></TD -><TD -></TD -></TR -><TR -><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3" -><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:2" STYLE="display:block;" -><TR -><TD STYLE="padding-left: 1.25em;width: 44em" -><A HREF="Data-TCache-TMVar-Dynamic.html" ->Data.TCache.TMVar.Dynamic</A -></TD -><TD -></TD -><TD -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -></TABLE -></TD -></TR -><TR -><TD CLASS="s15" -></TD -></TR -><TR -><TD CLASS="botbar" ->Produced by <A HREF="http://www.haskell.org/haddock/" ->Haddock</A -> version 2.4.2</TD -></TR -></TABLE -></BODY -></HTML ->
− dist/doc/html/TCache/mini_Data-TCache-Dynamic.html
@@ -1,149 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.Dynamic</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><DIV CLASS="outer" -><DIV CLASS="mini-topbar" ->Data.TCache.Dynamic</DIV -><DIV CLASS="mini-synopsis" -><DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache-Dynamic.html#t%3AIResource" TARGET="main" ->IResource</A -> a</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-Dynamic.html#t%3AResources" TARGET="main" ->Resources</A -> a b</DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3Aresources" TARGET="main" ->resources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AsetCache" TARGET="main" ->setCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3Arefcache" TARGET="main" ->refcache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AdefaultCheck" TARGET="main" ->defaultCheck</A -></DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-Dynamic.html#t%3AIDynamic" TARGET="main" ->IDynamic</A -> </DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="Data-TCache-Dynamic.html#t%3ACache" TARGET="main" ->Cache</A -> a</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache-Dynamic.html#t%3ADynamicInterface" TARGET="main" ->DynamicInterface</A -> x</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-Dynamic.html#t%3AKey" TARGET="main" ->Key</A -> </DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AgetTVars" TARGET="main" ->getTVars</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AreleaseTVars" TARGET="main" ->releaseTVars</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AgetTVarsIO" TARGET="main" ->getTVarsIO</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AwithDResource" TARGET="main" ->withDResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AwithDResources" TARGET="main" ->withDResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AwithDSTMResources" TARGET="main" ->withDSTMResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AgetDResource" TARGET="main" ->getDResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AgetDResources" TARGET="main" ->getDResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteDResource" TARGET="main" ->deleteDResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteDResources" TARGET="main" ->deleteDResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AsyncCache" TARGET="main" ->syncCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AclearSyncCacheProc" TARGET="main" ->clearSyncCacheProc</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AwithResource" TARGET="main" ->withResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AwithResources" TARGET="main" ->withResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AwithSTMResources" TARGET="main" ->withSTMResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AgetResource" TARGET="main" ->getResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AgetResources" TARGET="main" ->getResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteResource" TARGET="main" ->deleteResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-Dynamic.html#v%3AdeleteResources" TARGET="main" ->deleteResources</A -></DIV -></DIV -></DIV -></BODY -></HTML ->
− dist/doc/html/TCache/mini_Data-TCache-IDynamic.html
@@ -1,43 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.IDynamic</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><DIV CLASS="outer" -><DIV CLASS="mini-topbar" ->Data.TCache.IDynamic</DIV -><DIV CLASS="mini-synopsis" -><DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-IDynamic.html#t%3AIDynamic" TARGET="main" ->IDynamic</A -> </DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-IDynamic.html#v%3Alist" TARGET="main" ->list</A -></DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache-IDynamic.html#t%3ADynamicInterface" TARGET="main" ->DynamicInterface</A -> x</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-IDynamic.html#t%3AKey" TARGET="main" ->Key</A -> </DIV -></DIV -></DIV -></BODY -></HTML ->
− dist/doc/html/TCache/mini_Data-TCache-IResource.html
@@ -1,49 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.IResource</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><DIV CLASS="outer" -><DIV CLASS="mini-topbar" ->Data.TCache.IResource</DIV -><DIV CLASS="mini-synopsis" -><DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache-IResource.html#t%3AIResource" TARGET="main" ->IResource</A -> a</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="Data-TCache-IResource.html#t%3AAccessTime" TARGET="main" ->AccessTime</A -> </DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="Data-TCache-IResource.html#t%3AModifTime" TARGET="main" ->ModifTime</A -> </DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-IResource.html#t%3AResources" TARGET="main" ->Resources</A -> a b</DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-IResource.html#v%3Aresources" TARGET="main" ->resources</A -></DIV -></DIV -></DIV -></BODY -></HTML ->
− dist/doc/html/TCache/mini_Data-TCache-TMVar-Dynamic.html
@@ -1,137 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.TMVar.Dynamic</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><DIV CLASS="outer" -><DIV CLASS="mini-topbar" ->Data.TCache.TMVar.Dynamic</DIV -><DIV CLASS="mini-synopsis" -><DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIResource" TARGET="main" ->IResource</A -> a</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AResources" TARGET="main" ->Resources</A -> a b</DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3Aresources" TARGET="main" ->resources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AsetCache" TARGET="main" ->setCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3Arefcache" TARGET="main" ->refcache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdefaultCheck" TARGET="main" ->defaultCheck</A -></DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AIDynamic" TARGET="main" ->IDynamic</A -> </DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3ACache" TARGET="main" ->Cache</A -> a</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3ADynamicInterface" TARGET="main" ->DynamicInterface</A -> x</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-TMVar-Dynamic.html#t%3AKey" TARGET="main" ->Key</A -> </DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetTMVars" TARGET="main" ->getTMVars</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetTMVarsIO" TARGET="main" ->getTMVarsIO</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithDResource" TARGET="main" ->withDResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithDResources" TARGET="main" ->withDResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithDSTMResources" TARGET="main" ->withDSTMResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetDResource" TARGET="main" ->getDResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetDResources" TARGET="main" ->getDResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteDResource" TARGET="main" ->deleteDResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteDResources" TARGET="main" ->deleteDResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithResource" TARGET="main" ->withResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithResources" TARGET="main" ->withResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AwithSTMResources" TARGET="main" ->withSTMResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetResource" TARGET="main" ->getResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AgetResources" TARGET="main" ->getResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteResource" TARGET="main" ->deleteResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar-Dynamic.html#v%3AdeleteResources" TARGET="main" ->deleteResources</A -></DIV -></DIV -></DIV -></BODY -></HTML ->
− dist/doc/html/TCache/mini_Data-TCache-TMVar.html
@@ -1,87 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache.TMVar</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><DIV CLASS="outer" -><DIV CLASS="mini-topbar" ->Data.TCache.TMVar</DIV -><DIV CLASS="mini-synopsis" -><DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache-TMVar.html#t%3AIResource" TARGET="main" ->IResource</A -> a</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache-TMVar.html#t%3AResources" TARGET="main" ->Resources</A -> a b</DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3Aresources" TARGET="main" ->resources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AgetTMVars" TARGET="main" ->getTMVars</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AgetTMVarsIO" TARGET="main" ->getTMVarsIO</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AwithSTMResources" TARGET="main" ->withSTMResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AwithResources" TARGET="main" ->withResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AwithResource" TARGET="main" ->withResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AgetResources" TARGET="main" ->getResources</A -></DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="Data-TCache-TMVar.html#t%3ACache" TARGET="main" ->Cache</A -> a</DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AsetCache" TARGET="main" ->setCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AnewCache" TARGET="main" ->newCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3Arefcache" TARGET="main" ->refcache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AclearSyncCacheProc" TARGET="main" ->clearSyncCacheProc</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache-TMVar.html#v%3AdefaultCheck" TARGET="main" ->defaultCheck</A -></DIV -> </DIV -></DIV -></BODY -></HTML ->
− dist/doc/html/TCache/mini_Data-TCache.html
@@ -1,107 +0,0 @@-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<!--Rendered using the Haskell Html Library v0.2--> -<HTML -><HEAD -><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" -><TITLE ->Data.TCache</TITLE -><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" -><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" -></SCRIPT -></HEAD -><BODY -><DIV CLASS="outer" -><DIV CLASS="mini-topbar" ->Data.TCache</DIV -><DIV CLASS="mini-synopsis" -><DIV CLASS="decl" -><SPAN CLASS="keyword" ->class</SPAN -> <A HREF="Data-TCache.html#t%3AIResource" TARGET="main" ->IResource</A -> a</DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->data</SPAN -> <A HREF="Data-TCache.html#t%3AResources" TARGET="main" ->Resources</A -> a b</DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3Aresources" TARGET="main" ->resources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AgetTVars" TARGET="main" ->getTVars</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AreleaseTVars" TARGET="main" ->releaseTVars</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AgetTVarsIO" TARGET="main" ->getTVarsIO</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AwithSTMResources" TARGET="main" ->withSTMResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AwithResources" TARGET="main" ->withResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AwithResource" TARGET="main" ->withResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AgetResources" TARGET="main" ->getResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AgetResource" TARGET="main" ->getResource</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AdeleteResources" TARGET="main" ->deleteResources</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AdeleteResource" TARGET="main" ->deleteResource</A -></DIV -> <DIV CLASS="decl" -><SPAN CLASS="keyword" ->type</SPAN -> <A HREF="Data-TCache.html#t%3ACache" TARGET="main" ->Cache</A -> a</DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AsetCache" TARGET="main" ->setCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AnewCache" TARGET="main" ->newCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3Arefcache" TARGET="main" ->refcache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AsyncCache" TARGET="main" ->syncCache</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AclearSyncCacheProc" TARGET="main" ->clearSyncCacheProc</A -></DIV -> <DIV CLASS="decl" -><A HREF="Data-TCache.html#v%3AdefaultCheck" TARGET="main" ->defaultCheck</A -></DIV -> </DIV -></DIV -></BODY -></HTML ->
− dist/doc/html/TCache/minus.gif
binary file changed (56 → absent bytes)
− dist/doc/html/TCache/plus.gif
binary file changed (59 → absent bytes)
− dist/setup-config
@@ -1,2 +0,0 @@-Saved package config for TCache-0.6.4 written by Cabal-1.6.0.3 using ghc-6.10-LocalBuildInfo {installDirTemplates = InstallDirs {prefix = "C:\\Archivos de programa\\Haskell", bindir = "$prefix\\bin", libdir = "$prefix", libsubdir = "$pkgid\\$compiler", dynlibdir = "$libdir", libexecdir = "$prefix\\$pkgid", progdir = "$libdir\\hugs\\programs", includedir = "$libdir\\$libsubdir\\include", datadir = "C:\\Archivos de programa\\Haskell", datasubdir = "$pkgid", docdir = "$prefix\\doc\\$pkgid", mandir = "$datadir\\man", htmldir = "$docdir\\html", haddockdir = "$htmldir"}, compiler = Compiler {compilerId = CompilerId GHC (Version {versionBranch = [6,10,3], versionTags = []}), compilerExtensions = [(CPP,"-XCPP"),(PostfixOperators,"-XPostfixOperators"),(PatternGuards,"-XPatternGuards"),(UnicodeSyntax,"-XUnicodeSyntax"),(MagicHash,"-XMagicHash"),(PolymorphicComponents,"-XPolymorphicComponents"),(ExistentialQuantification,"-XExistentialQuantification"),(KindSignatures,"-XKindSignatures"),(EmptyDataDecls,"-XEmptyDataDecls"),(ParallelListComp,"-XParallelListComp"),(TransformListComp,"-XTransformListComp"),(ForeignFunctionInterface,"-XForeignFunctionInterface"),(UnliftedFFITypes,"-XUnliftedFFITypes"),(LiberalTypeSynonyms,"-XLiberalTypeSynonyms"),(Rank2Types,"-XRank2Types"),(RankNTypes,"-XRankNTypes"),(ImpredicativeTypes,"-XImpredicativeTypes"),(TypeOperators,"-XTypeOperators"),(RecursiveDo,"-XRecursiveDo"),(Arrows,"-XArrows"),(UnknownExtension "PArr","-XPArr"),(TemplateHaskell,"-XTemplateHaskell"),(QuasiQuotes,"-XQuasiQuotes"),(Generics,"-XGenerics"),(NoImplicitPrelude,"-XNoImplicitPrelude"),(RecordWildCards,"-XRecordWildCards"),(NamedFieldPuns,"-XNamedFieldPuns"),(RecordPuns,"-XRecordPuns"),(DisambiguateRecordFields,"-XDisambiguateRecordFields"),(OverloadedStrings,"-XOverloadedStrings"),(GADTs,"-XGADTs"),(ViewPatterns,"-XViewPatterns"),(TypeFamilies,"-XTypeFamilies"),(BangPatterns,"-XBangPatterns"),(NoMonomorphismRestriction,"-XNoMonomorphismRestriction"),(NoMonoPatBinds,"-XNoMonoPatBinds"),(RelaxedPolyRec,"-XRelaxedPolyRec"),(ExtendedDefaultRules,"-XExtendedDefaultRules"),(ImplicitParams,"-XImplicitParams"),(ScopedTypeVariables,"-XScopedTypeVariables"),(PatternSignatures,"-XPatternSignatures"),(UnboxedTuples,"-XUnboxedTuples"),(StandaloneDeriving,"-XStandaloneDeriving"),(DeriveDataTypeable,"-XDeriveDataTypeable"),(TypeSynonymInstances,"-XTypeSynonymInstances"),(FlexibleContexts,"-XFlexibleContexts"),(FlexibleInstances,"-XFlexibleInstances"),(ConstrainedClassMethods,"-XConstrainedClassMethods"),(MultiParamTypeClasses,"-XMultiParamTypeClasses"),(FunctionalDependencies,"-XFunctionalDependencies"),(GeneralizedNewtypeDeriving,"-XGeneralizedNewtypeDeriving"),(OverlappingInstances,"-XOverlappingInstances"),(UndecidableInstances,"-XUndecidableInstances"),(IncoherentInstances,"-XIncoherentInstances"),(PackageImports,"-XPackageImports"),(NewQualifiedOperators,"-XNewQualifiedOperators")]}, buildDir = "dist\\build", scratchDir = "dist\\scratch", packageDeps = [PackageIdentifier {pkgName = PackageName "RefSerialize", pkgVersion = Version {versionBranch = [0,2,4], versionTags = []}},PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,1], versionTags = []}},PackageIdentifier {pkgName = PackageName "containers", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}},PackageIdentifier {pkgName = PackageName "directory", pkgVersion = Version {versionBranch = [1,0,0,3], versionTags = []}},PackageIdentifier {pkgName = PackageName "old-time", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}},PackageIdentifier {pkgName = PackageName "stm", pkgVersion = Version {versionBranch = [2,1,1,2], versionTags = []}}], installedPkgs = PackageIndex (fromList [(PackageName "RefSerialize",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "RefSerialize", pkgVersion = Version {versionBranch = [0,2,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "agocorona@gmail.com", author = "Alberto G\243mez Corona", stability = "", homepage = "", pkgUrl = "", description = "Read, Show and Data.Binary do not check for repeated references to the same address.\nAs a result, the data is duplicated when serialized. This is a waste of space in the filesystem\nand also a waste of serialization time. but the worst consequence is that, when the serialized data is read,\nit allocates multiple copies for the same object when referenced multiple times. Because multiple referenced\ndata is very typical in a pure language such is Haskell, this means that the resulting data loose the beatiful\neconomy of space and processing time that referential transparency permits.\nEvery instance of Show/Read is also a instance of Data.RefSerialize.\nThis package allows the serialization and deserialization of large data structures without duplication of data, with\nthe result of optimized performance and memory usage. It is also useful for debugging purposes.\nThere are automatic derived instances for instances of Read/Show. Lists of non-chars have its own instance.\nThe deserializer contains a subset of Parsec.Token for defining deserializing parsers.\nthe serialized string has the form \"expr( var1, ...varn) where var1=value1,..valn=valueN \" so that the\nstring can be EVALuated. So the entire deserialization can be substituted by eval.\nSee demo.hs and tutorial. I presumably will add a entry in haskell-web.blogspot.com\nin this release:.\n* Proper trailing withespace handlling for instances of Read\n* Error handllig for instances of Read.\nTo do: -derived instances for Data.Binary\n-serialization to/from ByteStings", category = "Parsing", exposed = True, exposedModules = [ModuleName ["Data","RefSerialize"],ModuleName ["Data","Parser"],ModuleName ["Data","Serialize"]], hiddenModules = [], importDirs = ["C:\\Archivos de programa\\Haskell\\RefSerialize-0.2.4\\ghc-6.10.3"], libraryDirs = ["C:\\Archivos de programa\\Haskell\\RefSerialize-0.2.4\\ghc-6.10.3"], hsLibraries = ["HSRefSerialize-0.2.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "containers", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\Archivos de programa\\Haskell\\doc\\RefSerialize-0.2.4\\html\\RefSerialize.haddock"], haddockHTMLs = ["C:\\Archivos de programa\\Haskell\\doc\\RefSerialize-0.2.4\\html"]}]),(PackageName "Win32",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "Win32", pkgVersion = Version {versionBranch = [2,2,0,0], versionTags = []}}, license = BSD3, copyright = "Alastair Reid, 1999-2003", maintainer = "Esa Ilari Vuokko <ei@vuokko.info>", author = "Alastair Reid", stability = "", homepage = "", pkgUrl = "", description = "", category = "System, Graphics", exposed = True, exposedModules = [ModuleName ["Graphics","Win32","GDI"],ModuleName ["Graphics","Win32","GDI","Bitmap"],ModuleName ["Graphics","Win32","GDI","Brush"],ModuleName ["Graphics","Win32","GDI","Clip"],ModuleName ["Graphics","Win32","GDI","Font"],ModuleName ["Graphics","Win32","GDI","Graphics2D"],ModuleName ["Graphics","Win32","GDI","HDC"],ModuleName ["Graphics","Win32","GDI","Palette"],ModuleName ["Graphics","Win32","GDI","Path"],ModuleName ["Graphics","Win32","GDI","Pen"],ModuleName ["Graphics","Win32","GDI","Region"],ModuleName ["Graphics","Win32","GDI","Types"],ModuleName ["Graphics","Win32"],ModuleName ["Graphics","Win32","Control"],ModuleName ["Graphics","Win32","Dialogue"],ModuleName ["Graphics","Win32","Icon"],ModuleName ["Graphics","Win32","Key"],ModuleName ["Graphics","Win32","Menu"],ModuleName ["Graphics","Win32","Message"],ModuleName ["Graphics","Win32","Misc"],ModuleName ["Graphics","Win32","Resource"],ModuleName ["Graphics","Win32","Window"],ModuleName ["System","Win32"],ModuleName ["System","Win32","DebugApi"],ModuleName ["System","Win32","DLL"],ModuleName ["System","Win32","File"],ModuleName ["System","Win32","FileMapping"],ModuleName ["System","Win32","Info"],ModuleName ["System","Win32","Mem"],ModuleName ["System","Win32","NLS"],ModuleName ["System","Win32","Process"],ModuleName ["System","Win32","Registry"],ModuleName ["System","Win32","SimpleMAPI"],ModuleName ["System","Win32","Time"],ModuleName ["System","Win32","Console"],ModuleName ["System","Win32","Security"],ModuleName ["System","Win32","Types"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\Win32-2.2.0.0"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\Win32-2.2.0.0"], hsLibraries = ["HSWin32-2.2.0.0"], extraLibraries = ["user32","gdi32","winmm","kernel32","advapi32"], extraGHCiLibraries = [], includeDirs = ["C:\\ghc\\ghc-6.10.3\\Win32-2.2.0.0\\include"], includes = ["HsWin32.h","HsGDI.h","WndProc.h"], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "bytestring", pkgVersion = Version {versionBranch = [0,9,1,4], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/Win32\\Win32.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/Win32"]}]),(PackageName "array",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "array", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package defines the classes @IArray@ of immutable arrays and\n@MArray@ of arrays mutable within appropriate monads, as well as\nsome instances of these classes.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Array","Base"],ModuleName ["Data","Array","Diff"],ModuleName ["Data","Array","IArray"],ModuleName ["Data","Array","IO"],ModuleName ["Data","Array","IO","Internals"],ModuleName ["Data","Array","MArray"],ModuleName ["Data","Array","ST"],ModuleName ["Data","Array","Storable"],ModuleName ["Data","Array","Unboxed"],ModuleName ["Data","Array"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\array-0.2.0.0"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\array-0.2.0.0"], hsLibraries = ["HSarray-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,1], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/array\\array.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/array"]}]),(PackageName "base",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [3,0,3,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This is a backwards-compatible version of the base package.\nIt depends on a later version of base, and was probably supplied\nwith your compiler when it was installed.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"],ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Dotnet"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\base-3.0.3.1"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\base-3.0.3.1"], hsLibraries = ["HSbase-3.0.3.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,1], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/base\\base.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/base"]},InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the Prelude and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.", category = "", exposed = True, exposedModules = [ModuleName ["Foreign","Concurrent"],ModuleName ["GHC","Arr"],ModuleName ["GHC","Base"],ModuleName ["GHC","Classes"],ModuleName ["GHC","Conc"],ModuleName ["GHC","ConsoleHandler"],ModuleName ["GHC","Desugar"],ModuleName ["GHC","Enum"],ModuleName ["GHC","Environment"],ModuleName ["GHC","Err"],ModuleName ["GHC","Exception"],ModuleName ["GHC","Exts"],ModuleName ["GHC","Float"],ModuleName ["GHC","ForeignPtr"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IO"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Int"],ModuleName ["GHC","List"],ModuleName ["GHC","Num"],ModuleName ["GHC","PArr"],ModuleName ["GHC","Pack"],ModuleName ["GHC","Ptr"],ModuleName ["GHC","Read"],ModuleName ["GHC","Real"],ModuleName ["GHC","ST"],ModuleName ["GHC","STRef"],ModuleName ["GHC","Show"],ModuleName ["GHC","Stable"],ModuleName ["GHC","Storable"],ModuleName ["GHC","TopHandler"],ModuleName ["GHC","Unicode"],ModuleName ["GHC","Weak"],ModuleName ["GHC","Word"],ModuleName ["System","Timeout"],ModuleName ["Control","Applicative"],ModuleName ["Control","Arrow"],ModuleName ["Control","Category"],ModuleName ["Control","Concurrent"],ModuleName ["Control","Concurrent","Chan"],ModuleName ["Control","Concurrent","MVar"],ModuleName ["Control","Concurrent","QSem"],ModuleName ["Control","Concurrent","QSemN"],ModuleName ["Control","Concurrent","SampleVar"],ModuleName ["Control","Exception"],ModuleName ["Control","Exception","Base"],ModuleName ["Control","OldException"],ModuleName ["Control","Monad"],ModuleName ["Control","Monad","Fix"],ModuleName ["Control","Monad","Instances"],ModuleName ["Control","Monad","ST"],ModuleName ["Control","Monad","ST","Lazy"],ModuleName ["Control","Monad","ST","Strict"],ModuleName ["Data","Bits"],ModuleName ["Data","Bool"],ModuleName ["Data","Char"],ModuleName ["Data","Complex"],ModuleName ["Data","Dynamic"],ModuleName ["Data","Either"],ModuleName ["Data","Eq"],ModuleName ["Data","Data"],ModuleName ["Data","Fixed"],ModuleName ["Data","Foldable"],ModuleName ["Data","Function"],ModuleName ["Data","HashTable"],ModuleName ["Data","IORef"],ModuleName ["Data","Int"],ModuleName ["Data","Ix"],ModuleName ["Data","List"],ModuleName ["Data","Maybe"],ModuleName ["Data","Monoid"],ModuleName ["Data","Ord"],ModuleName ["Data","Ratio"],ModuleName ["Data","STRef"],ModuleName ["Data","STRef","Lazy"],ModuleName ["Data","STRef","Strict"],ModuleName ["Data","String"],ModuleName ["Data","Traversable"],ModuleName ["Data","Tuple"],ModuleName ["Data","Typeable"],ModuleName ["Data","Unique"],ModuleName ["Data","Version"],ModuleName ["Data","Word"],ModuleName ["Debug","Trace"],ModuleName ["Foreign"],ModuleName ["Foreign","C"],ModuleName ["Foreign","C","Error"],ModuleName ["Foreign","C","String"],ModuleName ["Foreign","C","Types"],ModuleName ["Foreign","ForeignPtr"],ModuleName ["Foreign","Marshal"],ModuleName ["Foreign","Marshal","Alloc"],ModuleName ["Foreign","Marshal","Array"],ModuleName ["Foreign","Marshal","Error"],ModuleName ["Foreign","Marshal","Pool"],ModuleName ["Foreign","Marshal","Utils"],ModuleName ["Foreign","Ptr"],ModuleName ["Foreign","StablePtr"],ModuleName ["Foreign","Storable"],ModuleName ["Numeric"],ModuleName ["Prelude"],ModuleName ["System","Console","GetOpt"],ModuleName ["System","CPUTime"],ModuleName ["System","Environment"],ModuleName ["System","Exit"],ModuleName ["System","IO"],ModuleName ["System","IO","Error"],ModuleName ["System","IO","Unsafe"],ModuleName ["System","Info"],ModuleName ["System","Mem"],ModuleName ["System","Mem","StableName"],ModuleName ["System","Mem","Weak"],ModuleName ["System","Posix","Internals"],ModuleName ["System","Posix","Types"],ModuleName ["Text","ParserCombinators","ReadP"],ModuleName ["Text","ParserCombinators","ReadPrec"],ModuleName ["Text","Printf"],ModuleName ["Text","Read"],ModuleName ["Text","Read","Lex"],ModuleName ["Text","Show"],ModuleName ["Text","Show","Functions"],ModuleName ["Unsafe","Coerce"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\base-4.1.0.0"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\base-4.1.0.0"], hsLibraries = ["HSbase-4.1.0.0"], extraLibraries = ["wsock32","msvcrt","kernel32","user32","shell32"], extraGHCiLibraries = [], includeDirs = ["C:\\ghc\\ghc-6.10.3\\base-4.1.0.0\\include"], includes = ["HsBase.h"], depends = [PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "integer", pkgVersion = Version {versionBranch = [0,1,0,1], versionTags = []}},PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/base\\base.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/base"]}]),(PackageName "bytestring",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "bytestring", pkgVersion = Version {versionBranch = [0,9,1,4], versionTags = []}}, license = BSD3, copyright = "Copyright (c) Don Stewart 2005-2008,\n(c) Duncan Coutts 2006-2008,\n(c) David Roundy 2003-2005.", maintainer = "dons@galois.com, duncan@haskell.org", author = "Don Stewart, Duncan Coutts", stability = "provisional", homepage = "http://www.cse.unsw.edu.au/~dons/fps.html", pkgUrl = "", description = "A time and space-efficient implementation of byte vectors using\npacked Word8 arrays, suitable for high performance use, both in terms\nof large data quantities, or high speed requirements. Byte vectors\nare encoded as strict 'Word8' arrays of bytes, and lazy lists of\nstrict chunks, held in a 'ForeignPtr', and can be passed between C\nand Haskell with little effort.\n\nTest coverage data for this library is available at:\n<http://code.haskell.org/~dons/tests/bytestring/hpc_index.html>", category = "Data", exposed = True, exposedModules = [ModuleName ["Data","ByteString"],ModuleName ["Data","ByteString","Char8"],ModuleName ["Data","ByteString","Unsafe"],ModuleName ["Data","ByteString","Internal"],ModuleName ["Data","ByteString","Lazy"],ModuleName ["Data","ByteString","Lazy","Char8"],ModuleName ["Data","ByteString","Lazy","Internal"],ModuleName ["Data","ByteString","Fusion"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\bytestring-0.9.1.4"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\bytestring-0.9.1.4"], hsLibraries = ["HSbytestring-0.9.1.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["C:\\ghc\\ghc-6.10.3\\bytestring-0.9.1.4\\include"], includes = ["fpstring.h"], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,1,0,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/bytestring\\bytestring.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/bytestring"]}]),(PackageName "containers",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "containers", pkgVersion = Version {versionBranch = [0,2,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains efficient general-purpose implementations\nof various basic immutable container types. The declared cost of\neach operation is either worst-case or amortized, but remains\nvalid even if structures are shared.", category = "Data Structures", exposed = True, exposedModules = [ModuleName ["Data","Graph"],ModuleName ["Data","IntMap"],ModuleName ["Data","IntSet"],ModuleName ["Data","Map"],ModuleName ["Data","Sequence"],ModuleName ["Data","Set"],ModuleName ["Data","Tree"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\containers-0.2.0.1"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\containers-0.2.0.1"], hsLibraries = ["HScontainers-0.2.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "array", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/containers\\containers.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/containers"]}]),(PackageName "directory",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "directory", pkgVersion = Version {versionBranch = [1,0,0,3], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides a library for handling directories.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Directory"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\directory-1.0.0.3"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\directory-1.0.0.3"], hsLibraries = ["HSdirectory-1.0.0.3"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["C:\\ghc\\ghc-6.10.3\\directory-1.0.0.3\\include"], includes = ["HsDirectory.h"], depends = [PackageIdentifier {pkgName = PackageName "Win32", pkgVersion = Version {versionBranch = [2,2,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "filepath", pkgVersion = Version {versionBranch = [1,1,0,2], versionTags = []}},PackageIdentifier {pkgName = PackageName "old-time", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/directory\\directory.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/directory"]}]),(PackageName "filepath",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "filepath", pkgVersion = Version {versionBranch = [1,1,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "", author = "Neil Mitchell", stability = "", homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/", pkgUrl = "", description = "", category = "System", exposed = True, exposedModules = [ModuleName ["System","FilePath"],ModuleName ["System","FilePath","Posix"],ModuleName ["System","FilePath","Windows"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\filepath-1.1.0.2"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\filepath-1.1.0.2"], hsLibraries = ["HSfilepath-1.1.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/filepath\\filepath.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/filepath"]}]),(PackageName "ghc-prim",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,1,0,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "GHC primitives.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Prim"],ModuleName ["GHC","Bool"],ModuleName ["GHC","Generics"],ModuleName ["GHC","Ordering"],ModuleName ["GHC","PrimopWrappers"],ModuleName ["GHC","IntWord32"],ModuleName ["GHC","IntWord64"],ModuleName ["GHC","Tuple"],ModuleName ["GHC","Types"],ModuleName ["GHC","Unit"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\ghc-prim-0.1.0.0"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\ghc-prim-0.1.0.0"], hsLibraries = ["HSghc-prim-0.1.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/ghc-prim\\ghc-prim.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/ghc-prim"]}]),(PackageName "integer",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "integer", pkgVersion = Version {versionBranch = [0,1,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains an Integer library based on GMP.", category = "", exposed = True, exposedModules = [ModuleName ["GHC","Integer"],ModuleName ["GHC","Integer","Internals"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\integer-0.1.0.1"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\integer-0.1.0.1"], hsLibraries = ["HSinteger-0.1.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,1,0,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/integer\\integer.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/integer"]}]),(PackageName "old-locale",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old locale library.\nFor new code, the new locale library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Locale"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\old-locale-1.0.0.1"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\old-locale-1.0.0.1"], hsLibraries = ["HSold-locale-1.0.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/old-locale\\old-locale.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/old-locale"]}]),(PackageName "old-time",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "old-time", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package provides the old time library.\nFor new code, the new time library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Time"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\old-time-1.0.0.2"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\old-time-1.0.0.2"], hsLibraries = ["HSold-time-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["C:\\ghc\\ghc-6.10.3\\old-time-1.0.0.2\\include"], includes = ["HsTime.h"], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,1], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/old-time\\old-time.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/old-time"]}]),(PackageName "rts",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "rts", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}, license = BSD3, copyright = "", maintainer = "glasgow-haskell-users@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "", category = "", exposed = True, exposedModules = [], hiddenModules = [], importDirs = [], libraryDirs = ["C:\\ghc\\ghc-6.10.3","C:\\ghc\\ghc-6.10.3/gcc-lib"], hsLibraries = ["HSrts"], extraLibraries = ["m","ffi","gmp","wsock32"], extraGHCiLibraries = [], includeDirs = ["C:\\ghc\\ghc-6.10.3/include","PAPI_INCLUDE_DIR"], includes = ["Stg.h"], depends = [], hugsOptions = [], ccOptions = [], ldOptions = ["-u","_ghczmprim_GHCziTypes_Izh_static_info","-u","_ghczmprim_GHCziTypes_Czh_static_info","-u","_ghczmprim_GHCziTypes_Fzh_static_info","-u","_ghczmprim_GHCziTypes_Dzh_static_info","-u","_base_GHCziPtr_Ptr_static_info","-u","_base_GHCziWord_Wzh_static_info","-u","_base_GHCziInt_I8zh_static_info","-u","_base_GHCziInt_I16zh_static_info","-u","_base_GHCziInt_I32zh_static_info","-u","_base_GHCziInt_I64zh_static_info","-u","_base_GHCziWord_W8zh_static_info","-u","_base_GHCziWord_W16zh_static_info","-u","_base_GHCziWord_W32zh_static_info","-u","_base_GHCziWord_W64zh_static_info","-u","_base_GHCziStable_StablePtr_static_info","-u","_ghczmprim_GHCziTypes_Izh_con_info","-u","_ghczmprim_GHCziTypes_Czh_con_info","-u","_ghczmprim_GHCziTypes_Fzh_con_info","-u","_ghczmprim_GHCziTypes_Dzh_con_info","-u","_base_GHCziPtr_Ptr_con_info","-u","_base_GHCziPtr_FunPtr_con_info","-u","_base_GHCziStable_StablePtr_con_info","-u","_ghczmprim_GHCziBool_False_closure","-u","_ghczmprim_GHCziBool_True_closure","-u","_base_GHCziPack_unpackCString_closure","-u","_base_GHCziIOBase_stackOverflow_closure","-u","_base_GHCziIOBase_heapOverflow_closure","-u","_base_ControlziExceptionziBase_nonTermination_closure","-u","_base_GHCziIOBase_blockedOnDeadMVar_closure","-u","_base_GHCziIOBase_blockedIndefinitely_closure","-u","_base_ControlziExceptionziBase_nestedAtomically_closure","-u","_base_GHCziWeak_runFinalizzerBatch_closure","-u","_base_GHCziTopHandler_runIO_closure","-u","_base_GHCziTopHandler_runNonIO_closure","-u","_base_GHCziConc_runHandlers_closure","-u","_base_GHCziConc_ensureIOManagerIsRunning_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}]),(PackageName "stm",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "stm", pkgVersion = Version {versionBranch = [2,1,1,2], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "A modular composable concurrency abstraction.", category = "Concurrency", exposed = True, exposedModules = [ModuleName ["Control","Concurrent","STM"],ModuleName ["Control","Concurrent","STM","TArray"],ModuleName ["Control","Concurrent","STM","TVar"],ModuleName ["Control","Concurrent","STM","TChan"],ModuleName ["Control","Concurrent","STM","TMVar"],ModuleName ["Control","Monad","STM"]], hiddenModules = [ModuleName ["Control","Sequential","STM"]], importDirs = ["C:\\ghc\\ghc-6.10.3\\stm-2.1.1.2"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\stm-2.1.1.2"], hsLibraries = ["HSstm-2.1.1.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "array", pkgVersion = Version {versionBranch = [0,2,0,0], versionTags = []}},PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/stm\\stm.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/stm"]}]),(PackageName "syb",[InstalledPackageInfo {package = PackageIdentifier {pkgName = PackageName "syb", pkgVersion = Version {versionBranch = [0,1,0,1], versionTags = []}}, license = BSD3, copyright = "", maintainer = "libraries@haskell.org", author = "", stability = "", homepage = "", pkgUrl = "", description = "This package contains the generics system described in the\n/Scrap Your Boilerplate/ papers (see <http://www.cs.vu.nl/boilerplate/>).\nIt defines the @Data@ class of types permitting folding and unfolding\nof constructor applications, instances of this class for primitive\ntypes, and a variety of traversals.", category = "", exposed = True, exposedModules = [ModuleName ["Data","Generics"],ModuleName ["Data","Generics","Aliases"],ModuleName ["Data","Generics","Basics"],ModuleName ["Data","Generics","Instances"],ModuleName ["Data","Generics","Schemes"],ModuleName ["Data","Generics","Text"],ModuleName ["Data","Generics","Twins"]], hiddenModules = [], importDirs = ["C:\\ghc\\ghc-6.10.3\\syb-0.1.0.1"], libraryDirs = ["C:\\ghc\\ghc-6.10.3\\syb-0.1.0.1"], hsLibraries = ["HSsyb-0.1.0.1"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,1,0,0], versionTags = []}}], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["C:\\ghc\\ghc-6.10.3/doc/libraries/syb\\syb.haddock"], haddockHTMLs = ["$httptopdir/doc/libraries/syb"]}])]), pkgDescrFile = Just ".\\TCache.cabal", localPkgDescr = PackageDescription {package = PackageIdentifier {pkgName = PackageName "TCache", pkgVersion = Version {versionBranch = [0,6,4], versionTags = []}}, license = BSD3, licenseFile = "LICENSE", copyright = "", maintainer = "agocorona@gmail.com", author = "Alberto G\243mez Corona", stability = "", testedWith = [(GHC,ThisVersion (Version {versionBranch = [6,8,2], versionTags = []}))], homepage = "", pkgUrl = "", bugReports = "", sourceRepos = [], synopsis = "A Transactional data cache with configurable persistence", description = "Data.Tcache is a transactional cache with configurable persistence. It tries to simulate Hibernate\nfor Java or Rails for Ruby. The main difference is that transactions are done in memory trough STM.\nThere are transactional cache implementations for some J2EE servers like JBOSS.\n\nTCache uses STM. It can atomically apply a function to a list of cached objects. The resulting\nobjects go back to the cache (withResources). It also can retrieve these objects (getResources).\nPersistence can be syncronous (syncCache) or asyncronous, wtih configurable time between cache\nwrites and configurable cache clearance strategy. the size of the cache can be configured too .\nAll of this can be done trough clearSyncCacheProc. Even the TVar variables can be accessed\ndirectly (getTVar) to acceess all the semantic of atomic blocks while maintaining the persistence of the\nTVar updates.\n\nPersistence can be defined for each object: Each object must have a defined key, a default filename\npath (if applicable). Persistence is pre-defined in files, but the readResource writeResource and\ndelResource methods can be redefined to persist in databases or whatever.\n\nSerialization is also configurable.\n\nThere are Samples here that explain the main features.\n\nIn this release\n\n* added withSTMResources. Most of the rest of the methods are derived from withSTMResources . the results are returned in the STM monad, so this method can be part of al larger STM transaction\nIt also can perforn used defined retries.\n\n* added modules for cached TMVars\nData.TCache.TMVar and Data.TCache.TMVar.Dynamic uses TMVars instead of TVars (See Control.Concurrent.STM.TMVar)\n\nIt is not possible tu mix TVars and TMVars packages in the same executable. However code that uses dynamic and non dynamic can\ncan be mixed\n\n* Data.TCache - cached TVars of object of type a.\n\n* Data.TCache.Dynamic - cached TVars of objects of type IDynamic.\n\n* Data.TCache.TMVar - cached TMVars of objects of type a.\n\n* Data.TCache..TMVar.Dynamic - cached TMVars of objects of type IDynamic.", category = "Middleware, Data, Database, Concurrency", customFieldsPD = [], buildDepends = [Dependency (PackageName "RefSerialize") (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,2,4], versionTags = []})) (LaterVersion (Version {versionBranch = [0,2,4], versionTags = []}))),Dependency (PackageName "base") (IntersectVersionRanges (UnionVersionRanges (ThisVersion (Version {versionBranch = [3], versionTags = []})) (LaterVersion (Version {versionBranch = [3], versionTags = []}))) (EarlierVersion (Version {versionBranch = [4], versionTags = []}))),Dependency (PackageName "containers") (UnionVersionRanges (ThisVersion (Version {versionBranch = [0,1,0,1], versionTags = []})) (LaterVersion (Version {versionBranch = [0,1,0,1], versionTags = []}))),Dependency (PackageName "directory") (UnionVersionRanges (ThisVersion (Version {versionBranch = [1,0], versionTags = []})) (LaterVersion (Version {versionBranch = [1,0], versionTags = []}))),Dependency (PackageName "old-time") (UnionVersionRanges (ThisVersion (Version {versionBranch = [1,0], versionTags = []})) (LaterVersion (Version {versionBranch = [1,0], versionTags = []}))),Dependency (PackageName "stm") (UnionVersionRanges (ThisVersion (Version {versionBranch = [2], versionTags = []})) (LaterVersion (Version {versionBranch = [2], versionTags = []})))], descCabalVersion = UnionVersionRanges (ThisVersion (Version {versionBranch = [1,2], versionTags = []})) (LaterVersion (Version {versionBranch = [1,2], versionTags = []})), buildType = Just Simple, library = Just (Library {exposedModules = [ModuleName ["Data","TCache"],ModuleName ["Data","TCache","IResource"],ModuleName ["Data","TCache","Dynamic"],ModuleName ["Data","TCache","TMVar"],ModuleName ["Data","TCache","TMVar","Dynamic"],ModuleName ["Data","TCache","IDynamic"]], libExposed = True, libBuildInfo = BuildInfo {buildable = True, buildTools = [], cppOptions = [], ccOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], cSources = [], hsSourceDirs = ["."], otherModules = [], extensions = [], extraLibs = [], extraLibDirs = [], includeDirs = [], includes = [], installIncludes = [], options = [(GHC,["-O2"])], ghcProfOptions = [], ghcSharedOptions = [], customFieldsBI = []}}), executables = [], dataFiles = [], dataDir = "", extraSrcFiles = [], extraTmpFiles = []}, withPrograms = [("ar",ConfiguredProgram {programId = "ar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\bin\\ar.exe"}}),("cpphs",ConfiguredProgram {programId = "cpphs", programVersion = Just (Version {versionBranch = [1,7], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\Archivos de programa\\Haskell\\bin\\cpphs.exe"}}),("gcc",ConfiguredProgram {programId = "gcc", programVersion = Just (Version {versionBranch = [3,4,5], versionTags = []}), programArgs = ["-BC:\\ghc\\ghc-6.10.3\\gcc-lib","-IC:\\ghc\\ghc-6.10.3\\include\\mingw"], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\gcc.exe"}}),("ghc",ConfiguredProgram {programId = "ghc", programVersion = Just (Version {versionBranch = [6,10,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\bin\\ghc.exe"}}),("ghc-pkg",ConfiguredProgram {programId = "ghc-pkg", programVersion = Just (Version {versionBranch = [6,10,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\bin\\ghc-pkg.exe"}}),("haddock",ConfiguredProgram {programId = "haddock", programVersion = Just (Version {versionBranch = [2,4,2], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\bin\\haddock.exe"}}),("happy",ConfiguredProgram {programId = "happy", programVersion = Just (Version {versionBranch = [1,18,4], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\bin\\happy.exe"}}),("hsc2hs",ConfiguredProgram {programId = "hsc2hs", programVersion = Just (Version {versionBranch = [0,67], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\bin\\hsc2hs.exe"}}),("hscolour",ConfiguredProgram {programId = "hscolour", programVersion = Just (Version {versionBranch = [1,13], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\Archivos de programa\\Haskell\\bin\\HsColour.exe"}}),("ld",ConfiguredProgram {programId = "ld", programVersion = Nothing, programArgs = ["-x"], programLocation = FoundOnSystem {locationPath = "C:\\ghc\\ghc-6.10.3\\gcc-lib\\ld.exe"}}),("pkg-config",ConfiguredProgram {programId = "pkg-config", programVersion = Just (Version {versionBranch = [0,23], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "c:\\gtk2hs\\0.10.1\\bin\\pkg-config.exe"}}),("tar",ConfiguredProgram {programId = "tar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "C:\\Archivos de programa\\UnixUtils\\usr\\local\\wbin\\tar.exe"}})], withPackageDB = GlobalPackageDB, withVanillaLib = True, withProfLib = False, withSharedLib = False, withProfExe = False, withOptimization = NormalOptimisation, withGHCiLib = True, splitObjs = False, stripExes = True, progPrefix = "", progSuffix = ""}