HLogger (empty) → 0.0.1.0
raw patch · 108 files changed
+1996/−0 lines, 108 filesdep +basedep +old-localedep +timesetup-changedbinary-added
Dependencies added: base, old-locale, time
Files
- HLogger.cabal +87/−0
- HLogger.hs +175/−0
- LICENSE +28/−0
- LoggerTest.hs +6/−0
- README +18/−0
- Setup.hs +3/−0
- _darcs/format +2/−0
- _darcs/hashed_inventory +63/−0
- _darcs/index binary
- _darcs/index_invalid +0/−0
- _darcs/inventories/0000000215-2d94a60c73fb652fca49cc6a5f699af81adc335c2ea5c1bdf4e7c8 binary
- _darcs/inventories/0000000289-2dbd7a43a0ee1ab9653abe33cb599b80f19dd91d1db791ac5b829a binary
- _darcs/inventories/0000000446-fccad89b53efd4a88f137bbb89692e1f1c56ec008b3092c167b950 binary
- _darcs/inventories/0000000951-bfd6fdac8df531274abc55c5da981911d779ecdf62779c10406b83 binary
- _darcs/inventories/0000001311-5aee758734620b44d62136021f4fbfca82ea09a335f35482ac2f4e binary
- _darcs/inventories/0000001526-fea5efbe2cb7514f2af9787f42b5203cab35e48ab08ade2422eec7 binary
- _darcs/inventories/0000001756-2c6952436a3e292ae347f2191e3a83abb78ad93f3195837b99335a binary
- _darcs/inventories/0000001964-d98d42c326e58437ecf9bcf0c07240cb3fd82d0238d129a13ea045 binary
- _darcs/inventories/0000002223-4e0fa442185d36e417962909578272cfa7493b327a113c824eb1bf binary
- _darcs/inventories/0000002430-bde144bb8006ea8971d3803f7bc5240c0bcd9e8f8c9a5799170fef binary
- _darcs/inventories/0000002626-456317e0fcf4ca0e6f03328bcdd7101d50146a267b2450265f2a15 binary
- _darcs/inventories/0000002854-6dfc0941062ae7539a30093d0b6e0bc7218c6bb3512f2df1774faa binary
- _darcs/inventories/0000003042-4a64d0ae8481eb97db15b668ef87b3861d19f7db68f1c954823ff4 binary
- _darcs/patches/0000000308-0cdacc0c33f96db83f97646dcd03a1e66944bcdb3a8efda7bf40ae3a8f binary
- _darcs/patches/0000000424-00c756e37d64710d96c366a807b87e76f1ccb1e28296345609a17fac4d binary
- _darcs/patches/0000000546-3a3f3b615e61b7df82cc766b59c874ac9fa398fd6b79b5cc37ea30da7e binary
- _darcs/patches/0000000628-896caee75b4f5c043004b5792ee1501ce40b71bb1c0486169757bd9204 binary
- _darcs/patches/0000000786-8fa04d51801bcabc4ed048a0156327804cf3df490b44819fc9d63acc20 binary
- _darcs/patches/0000001264-9afd27983dd2f46c5879dca84712dae5f29434fb254bb07f73be12716d binary
- _darcs/patches/0000001915-d621344d08c3403fe3956525a377106e49edfc57f37daae62d436bce54 binary
- _darcs/patches/0000002965-5a62827a55a83565118e3ea7acd448f7879394629a9d3416441e05b746 binary
- _darcs/patches/0000003292-51416fe89d63330f51ebde55cfca66c4582e0ff0a32071980eabc51cc5 binary
- _darcs/patches/0000003613-34857bb016f16999c269b77c61ca5518dd510d4c50f292914d5f38cfc7 binary
- _darcs/patches/0000005067-a07803272179d7f944ce93e93d251b769e21d00b80e509a2ab6b1d2599 binary
- _darcs/patches/0000008523-ac0a51a06055d3fecf5e66092b63f9f0a9d3987004049ea495d179d2dc binary
- _darcs/patches/pending +2/−0
- _darcs/patches/pending.tentative +2/−0
- _darcs/patches/unrevert +34/−0
- _darcs/prefs/author +9/−0
- _darcs/prefs/binaries +30/−0
- _darcs/prefs/boring +113/−0
- _darcs/prefs/defaultrepo +1/−0
- _darcs/prefs/motd +0/−0
- _darcs/prefs/repos +1/−0
- _darcs/prefs/sources +3/−0
- _darcs/pristine.hashed/0000000047-e865ae48f11bb84cda2c1b2c0ed0a08ecba1b07d4a37c0d3f7 binary
- _darcs/pristine.hashed/0000000147-285bcb9a54b55f178487f5d4da8b60634c80061a20061f4a6d binary
- _darcs/pristine.hashed/0000000189-61042437977f2c02043776262989061005ae5e1477b615be02 binary
- _darcs/pristine.hashed/0000000189-66444cc9a80e2c6b80dbb6bc7549b879387b931067e8a4d741 binary
- _darcs/pristine.hashed/0000000189-d237b1c8be0e2019f37dd1ddbe191e264a2c4965f89a5ef398 binary
- _darcs/pristine.hashed/0000000376-03c7796aca3821fcc563d93c8f0fd29ea2b401243eebc270c5 binary
- _darcs/pristine.hashed/0000000376-1762cf3cf5b197983b6415aace6367aaadfcf9eb3d04aa8f5e binary
- _darcs/pristine.hashed/0000000466-6140040c2a8552d8305729deac44ea8d204d3ba784daaab279 binary
- _darcs/pristine.hashed/0000000466-7f93dcce96998e2e98ef10ba9df74ec01c4a8b00a19afd46a1 binary
- _darcs/pristine.hashed/0000000466-add5edda78dc9faee921e82b9a334486ad9115f09afcfd284f binary
- _darcs/pristine.hashed/0000000466-dd4ea52521114f1b2238b5d905f1b182d4e85f346343c9df38 binary
- _darcs/pristine.hashed/0000000555-42fa5b0c32d4517eccf2c4eb608f31344612981f92b62dc29d binary
- _darcs/pristine.hashed/0000000555-bf3083e887975f7ea9ef22082764ec906491a22ab7f34ea7ad binary
- _darcs/pristine.hashed/0000000730-c4c7461ce165a81a6426c4b08ffbf7e31c49d1a105cfa6e3f9 binary
- _darcs/pristine.hashed/0000000830-b46173fce2b9daf5ac6abb2f711728d796ecf37d0717af0890 binary
- _darcs/pristine.hashed/0000001101-61a9ce141c964ed4222312fd95972304a0aaec31f0aa54eeab binary
- _darcs/pristine.hashed/0000001479-c9b7dcf9c4954665e44359b934feb6b9d4c18ba7a33f5b7699 binary
- _darcs/pristine.hashed/0000002315-635bd25487c324545d2e7fe3b458c3bbf38681ecf2ad3bd742 binary
- _darcs/pristine.hashed/0000002316-2d6b44bdd888e13236bcdfc805e72464a4041b3a1e3efe72ba binary
- _darcs/pristine.hashed/0000002340-43a245accd80c470b5fdc50761bbd6eb7e57e897a631d2267c binary
- _darcs/pristine.hashed/0000003125-287557c493d96d66e9ae2bee964996a188798aa71d39d5bf68 binary
- _darcs/pristine.hashed/0000003361-d5e47a2172e3ed62a8261ffd11d7949ef9214796ff200485cd binary
- _darcs/pristine.hashed/0000004429-db849ba652309525bd5f170fb75abbeba937fbec6ebf742673 binary
- _darcs/pristine.hashed/0000004481-afd14c172ea4d6a1963f5afc2ee35858c251980f783cb22f66 binary
- _darcs/pristine.hashed/0000005198-8aab1d8c08dfc557e943c0bb3772842eb76fe279b1f14a098d binary
- _darcs/pristine.hashed/0000005376-258f26a9f994e77395b6fe5afb6d3a8cfd5ceb689165dc3bc7 binary
- _darcs/pristine.hashed/0000005427-3392bbff96b023178569aa5018fe68d2bbbf9625e15c9fd624 binary
- _darcs/pristine.hashed/0000005430-9ff1d9247a3e75e28778d01cdc8729174ec0ae66bf101e09fa binary
- _darcs/pristine.hashed/da39a3ee5e6b4b0d3255bfef95601890afd80709 +0/−0
- _darcs/tentative_pristine +1/−0
- dist/build/HLogger.hi binary
- dist/build/HLogger.o binary
- dist/build/HSHLogger-0.0.0.1.o binary
- dist/build/HSHLogger-0.0.1.0.o binary
- dist/build/autogen/Paths_HLogger.hs +29/−0
- dist/build/autogen/cabal_macros.h +20/−0
- dist/build/libHSHLogger-0.0.0.1.a binary
- dist/build/libHSHLogger-0.0.1.0.a binary
- dist/build/logger-0.0.1.0-test/logger-0.0.1.0-test binary
- dist/build/logger-0.0.1.0-test/logger-0.0.1.0-test-tmp/HLogger.hi binary
- dist/build/logger-0.0.1.0-test/logger-0.0.1.0-test-tmp/HLogger.o binary
- dist/build/logger-0.0.1.0-test/logger-0.0.1.0-test-tmp/Main.hi binary
- dist/build/logger-0.0.1.0-test/logger-0.0.1.0-test-tmp/Main.o binary
- dist/build/logger-test/logger-test binary
- dist/build/logger-test/logger-test-tmp/HLogger.hi binary
- dist/build/logger-test/logger-test-tmp/HLogger.o binary
- dist/build/logger-test/logger-test-tmp/Main.hi binary
- dist/build/logger-test/logger-test-tmp/Main.o binary
- dist/doc/html/HLogger/HLogger.haddock binary
- dist/doc/html/HLogger/HLogger.html +528/−0
- dist/doc/html/HLogger/doc-index.html +124/−0
- dist/doc/html/HLogger/frames.html +27/−0
- dist/doc/html/HLogger/haddock-util.js +139/−0
- dist/doc/html/HLogger/haddock.css +297/−0
- dist/doc/html/HLogger/haskell_icon.gif binary
- dist/doc/html/HLogger/index-frames.html +22/−0
- dist/doc/html/HLogger/index.html +80/−0
- dist/doc/html/HLogger/mini_HLogger.html +61/−0
- dist/doc/html/HLogger/minus.gif binary
- dist/doc/html/HLogger/plus.gif binary
- dist/package.conf.inplace +2/−0
- dist/setup-config +2/−0
- hlogger.cabal +87/−0
@@ -0,0 +1,87 @@+-- TODO: Set dependency versions.+-- TODO: Highlighting bug: The last line of the description.++Name: HLogger+Version: 0.0.1.0+Cabal-Version: >= 1.6+Build-Type: Simple+License: BSD3+License-File: LICENSE+Copyright: Copyright © 2011, Jon Kristensen+Author: Jon Kristensen, Mahdi Abdinejadi+Maintainer: jon.kristensen@pontarius.org+Stability: alpha+Homepage: http://www.pontarius.org/sub-projects/hlogger/+Bug-Reports: mailto:info@pontarius.org+Package-URL: http://www.pontarius.org/releases/hlogger-0.0.1.0.tar.gz+Synopsis: Simple, concurrent and easy-to-use logging library+Description: This is a work in progress for a logging framework that+ aims to be simple, concurrent and easy-to-use. We are+ thinking about using monads and allow for multiple logging+ implementations.+Category: Logging, Concurrency+Tested-With: GHC ==6.12.3+-- Data-Files:+-- Data-Dir:+-- Extra-Source-Files:+-- Extra-Tmp-Files:++Library+ Exposed-Modules: HLogger+ Exposed: True+ Build-Depends: base >= 2 && < 4, old-locale, time+ -- Other-Modules:+ -- HS-Source-Dirs:+ -- Extensions:+ -- Build-Tools:+ -- Buildable:+ -- GHC-Options:+ -- GHC-Prof-Options:+ -- Hugs-Options:+ -- NHC98-Options:+ -- Includes:+ -- Install-Includes:+ -- Include-Dirs:+ -- C-Sources:+ -- Extra-Libraries:+ -- Extra-Lib-Dirs:+ -- CC-Options:+ -- LD-Options:+ -- Pkgconfig-Depends:+ -- Frameworks:++Executable logger-0.0.1.0-test+ Main-Is: LoggerTest.hs+ Build-Depends: base >= 2 && < 4, old-locale, time+ -- Other-Modules:+ -- HS-Source-Dirs:+ -- Extensions:+ -- Build-Tools:+ -- Buildable:+ -- GHC-Options:+ -- GHC-Prof-Options:+ -- Hugs-Options:+ -- NHC98-Options:+ -- Includes:+ -- Install-Includes:+ -- Include-Dirs:+ -- C-Sources:+ -- Extra-Libraries:+ -- Extra-Lib-Dirs:+ -- CC-Options:+ -- LD-Options:+ -- Pkgconfig-Depends:+ -- Frameworks:++Source-Repository head+ Type: darcs+ -- Module:+ Location: https://patch-tag.com/r/jonkri/HLogger+ -- Subdir:++Source-Repository this+ Type: darcs+ -- Module:+ Location: https://patch-tag.com/r/jonkri/HLogger+ Tag: 0.0.1.0+ -- Subdir:
@@ -0,0 +1,175 @@+-- | This is a work in progress for a logging framework that aims to be+-- simple, concurrent and easy-to-use.+-- +-- Use 'startLogger' to acquire a 'HLoggerState', and then use the+-- 'HLoggerState' in subsequent logging calls. Use the log functions to log,+-- and don't forget to call 'stopLogger' when you're finished. See the log+-- functions for information about what the different log levels mean.++module HLogger ( startLogger+ , stopLogger+ , logDebug+ , logInfo+ , logNotice+ , logWarning+ , logError+ , logCritical+ , logAlert+ , logEmergency+ , HLoggerState ) where++import Control.Applicative ((<$>))+import Control.Concurrent (forkIO)+import Control.Concurrent.Chan (Chan, newChan, readChan, writeChan)+import Data.Time.Clock (getCurrentTime)+import Data.Time.Format (formatTime)+import System.IO (Handle, IOMode (WriteMode), hClose, hFlush, hPutStrLn,+ openFile)+import System.Locale (defaultTimeLocale)+++-- LogLevel indicates the importance of a log entry. The log levels are the+-- same as in the Syslog application. The below list is ordered by priority,+-- Debug being the least significant message.++data LogLevel = Debug | -- Debug messages+ Info | -- Purely informational messages+ Notice | -- Significant messages for normal conditions+ Warning | -- Warning condition messages+ Error | -- Error condition messages+ Critical | -- Critical condition messages+ Alert | -- Indication that action must be taken+ Emergency -- Indication that the system is unusable+ deriving (Eq, Ord, Read, Show)+++-- | HLoggerState wraps the information HLogger needs to perform logging and+-- to "stop" the logging framework. Applications utilizing HLogger keeps a+-- HLoggerState variable in their states.++data HLoggerState = HLoggerState { channel :: Chan (Maybe LogMessage)+ , handle :: Handle+ , prefix :: String }+++data LogMessage = LogMessage { message :: String, level :: LogLevel }+++-- | Call start to get the initial logging state. It takes a String, @prefix@,+-- as its configuration input and creates a file @prefix-YYYYMMDDHHMM.log@ in+-- the current directory. It will use UTC time on system that supports it, and+-- local time otherwise.++startLogger :: String -> IO HLoggerState+startLogger p =+ do c <- newChan+ d <- datetime+ h <- openFile (p ++ "-" ++ d ++ ".log") WriteMode+ forkIO $ logToFile c h+ let s = HLoggerState { channel = c, prefix = p , handle = h }+ return s+ where+ datetime :: IO String+ datetime = formatTime defaultTimeLocale "%Y%m%d%H%M" <$>+ getCurrentTime+++-- | Stops the logger by closing the log file and exiting the logging thread.++stopLogger :: HLoggerState -> IO ()+stopLogger s =+ do writeChan (channel s) Nothing+ return ()+++-- | Logs a debug message. Debug messages are the least significant messages.++logDebug :: HLoggerState -> String -> IO ()+logDebug s m =+ do let m' = toLogMessage m Debug+ writeChan (channel s) (Just m')+ return ()+++-- | Logs a purely informational message. Use logNotice instead of the+-- information message is significant.++logInfo :: HLoggerState -> String -> IO ()+logInfo s m =+ do let m' = toLogMessage m Info+ writeChan (channel s) (Just m')+ return ()+++-- | Logs a significant purely informational message.+logNotice :: HLoggerState -> String -> IO ()+logNotice s m =+ do let m' = toLogMessage m Notice+ writeChan (channel s) (Just m')+ return ()+++-- | Logs a message signaling a warning condition.++logWarning :: HLoggerState -> String -> IO ()+logWarning s m =+ do let m' = toLogMessage m Warning+ writeChan (channel s) (Just m')+ return ()+++-- | Logs a message signaling that a non-critical error has occurred.++logError :: HLoggerState -> String -> IO ()+logError s m =+ do let m' = toLogMessage m Error+ writeChan (channel s) (Just m')+ return ()+++-- | Logs a message signaling that a critical error has occurred.++logCritical :: HLoggerState -> String -> IO ()+logCritical s m =+ do let m' = toLogMessage m Critical+ writeChan (channel s) (Just m')+ return ()+++-- | Logs a message signaling that an action must be taken.++logAlert :: HLoggerState -> String -> IO ()+logAlert s m =+ do let m' = toLogMessage m Alert+ writeChan (channel s) (Just m')+ return ()+++-- | Logs a message signaling that the system is unusable.++logEmergency :: HLoggerState -> String -> IO ()+logEmergency s m =+ do let m' = toLogMessage m Emergency+ writeChan (channel s) (Just m')+ return ()+++-- Logging loop spawned by the start function.++logToFile :: Chan (Maybe LogMessage) -> Handle -> IO ()+logToFile c h =+ do logMessage <- readChan c+ case logMessage of+ Nothing ->+ do hClose h+ Just m ->+ do let r = show (level m) ++ ": " ++ message m+ hPutStrLn h r+ hFlush h+ logToFile c h+++-- Function to wrap a string and a log level into a LogMessage record.++toLogMessage :: String -> LogLevel -> LogMessage+toLogMessage m l = LogMessage { message = m, level = l }
@@ -0,0 +1,28 @@+Copyright © 2011, Jon Kristensen++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright notice,+ this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above copyright notice,+ this list of conditions and the following disclaimer in the documentation+ and/or other materials provided with the distribution.++ * Neither the name of Pontarius nor the names of its contributors may be+ used to endorse or promote products derived from this software without+ specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT,+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,6 @@+import HLogger++main =+ do loggerState <- startLogger "LoggerTest"+ logDebug loggerState "This is a test message!"+ stopLogger loggerState
@@ -0,0 +1,18 @@+HLogger is a simple and concurrent logging utility for Haskell under the+development by the Pontarius project. The goal is to provide a name and facility+for a set of logging functionalities that many Haskell developers re-invent and+maintain their own implementations of. We are not entirely sure yet what the+scope of this library will be, but we will continue to evolve it in parallel+with the development of Pontarius and HXMPP, utilizing it in those two projects.+One specific feature that we are looking into is a plug-in system for customized+logger behaviors.++See <http://hackage.haskell.org/package/HLogger/> for more information.++Please note that we are <em>not</em> recommending anyone to use HLogger at this+time as it's still in an experimental stage and will have its API and data types+modified frequently. We have scheduled the first beta release for the 4th of+May. That being said, if you are interested to use HLogger anyway, feel free to+do so and to contact the Pontarius project if you need any assistance.++We will release the next version, 0.1 Alpha 2, on the 23rd of March.
@@ -0,0 +1,3 @@+import Distribution.Simple++main = defaultMain
@@ -0,0 +1,2 @@+hashed+darcs-2
@@ -0,0 +1,63 @@+pristine:0000000555-bf3083e887975f7ea9ef22082764ec906491a22ab7f34ea7ad66170c31306daf+[Added logging files from jonkri/XMPP+jon.kristensen@pontarius.org**20110214093423+ Ignore-this: 4af936c9d3c389eb9b4e3e71acf90c4a+] +hash: 0000003613-34857bb016f16999c269b77c61ca5518dd510d4c50f292914d5f38cfc7f82570+[Added the current date and time to the log file name+jon.kristensen@pontarius.org**20110214123820+ Ignore-this: 52ec1917a542bb567963d6de2e6ffa37+] +hash: 0000000786-8fa04d51801bcabc4ed048a0156327804cf3df490b44819fc9d63acc203cbc8b+[Improvements to make the library actually usable+jon.kristensen@pontarius.org**20110214131651+ Ignore-this: 5764a5a9368359497fd9bffbfe81ce7c+ Changed the name and input arguments of the of the loop function to make it more clean and understandable. Added functions analogous to the logDebug function for all other log levels. Killed the thread before closing the file (this included adding the thread ID to the state).+] +hash: 0000002965-5a62827a55a83565118e3ea7acd448f7879394629a9d3416441e05b746f0ae65+[Race condition bug fix, Cabalization+jon.kristensen@pontarius.org**20110214140642+ Ignore-this: 77f07742d0237ea05ec831abd06765ff+ Changed the channel type from LogMessage to to Maybe LogMessage and had the Nothing value meaning that logging should exit the logging process.+] +hash: 0000003292-51416fe89d63330f51ebde55cfca66c4582e0ff0a32071980eabc51cc51fcec1+[Started to export the HLogger module+jon.kristensen@pontarius.org**20110214143328+ Ignore-this: 51704fbd37802d1d683ca9e452fa692a+] +hash: 0000000308-0cdacc0c33f96db83f97646dcd03a1e66944bcdb3a8efda7bf40ae3a8fd53eb1+[Simplified the API and prepared HLogger for release+jon.kristensen@pontarius.org**20110216102812+ Ignore-this: b9ead86cc44d169f1e224142a6508006+] +hash: 0000008523-ac0a51a06055d3fecf5e66092b63f9f0a9d3987004049ea495d179d2dcf766c4+[Made the HLoggerState visible+jon.kristensen@pontarius.org**20110222104000+ Ignore-this: a95924d20d4c7db49061800bcbd9dfac+] +hash: 0000000424-00c756e37d64710d96c366a807b87e76f1ccb1e28296345609a17fac4dee1c56+[Changed the documentation for HLoggerState as it is already working as it should+jon.kristensen@pontarius.org**20110223125416+ Ignore-this: a84f42e3cb04e5d908ead1e892f29916+] +hash: 0000000546-3a3f3b615e61b7df82cc766b59c874ac9fa398fd6b79b5cc37ea30da7e0a15e0+[Prepared HLogger for release+jon.kristensen@pontarius.org**20110301114109+ Ignore-this: 37ca519027ac114b5af9b31a8a9f469c+] +hash: 0000000628-896caee75b4f5c043004b5792ee1501ce40b71bb1c0486169757bd9204d82cbf+[Added README file+jon.kristensen@pontarius.org**20110302120850+ Ignore-this: 360ec6bcda7f87ad65958c44d52df0c8+] +hash: 0000001264-9afd27983dd2f46c5879dca84712dae5f29434fb254bb07f73be12716d8ed3c7+[Modified cabal file so that it works with Hackage+jon.kristensen@pontarius.org**20110302163037+ Ignore-this: 9f0aadcd1880204d5de06cc747901333+] +hash: 0000005067-a07803272179d7f944ce93e93d251b769e21d00b80e509a2ab6b1d259973281b+[TAG 0.0.1+jon.kristensen@pontarius.org**20110302161435+ Ignore-this: 584ed4e7008fd6ea08284b26a3d5619b+] +hash: 0000001915-d621344d08c3403fe3956525a377106e49edfc57f37daae62d436bce5491c615
binary file changed (absent → 448 bytes)
binary file changed (absent → 193 bytes)
binary file changed (absent → 237 bytes)
binary file changed (absent → 301 bytes)
binary file changed (absent → 556 bytes)
binary file changed (absent → 729 bytes)
binary file changed (absent → 823 bytes)
binary file changed (absent → 924 bytes)
binary file changed (absent → 1013 bytes)
binary file changed (absent → 1120 bytes)
binary file changed (absent → 1201 bytes)
binary file changed (absent → 1288 bytes)
binary file changed (absent → 1392 bytes)
binary file changed (absent → 1477 bytes)
binary file changed (absent → 249 bytes)
binary file changed (absent → 280 bytes)
binary file changed (absent → 358 bytes)
binary file changed (absent → 303 bytes)
binary file changed (absent → 424 bytes)
binary file changed (absent → 752 bytes)
binary file changed (absent → 879 bytes)
binary file changed (absent → 896 bytes)
binary file changed (absent → 1125 bytes)
binary file changed (absent → 1455 bytes)
binary file changed (absent → 1228 bytes)
binary file changed (absent → 2869 bytes)
@@ -0,0 +1,2 @@+{+}
@@ -0,0 +1,2 @@+{+}
@@ -0,0 +1,34 @@++New patches:++[unrevert+anon**20110214144229+ Ignore-this: 82ab67d691fbdbeb53efd6644bd42ef3+] adddir ./dist++Context:++[Started to export the HLogger module+jon.kristensen@pontarius.org**20110214143328+ Ignore-this: 51704fbd37802d1d683ca9e452fa692a+] +[Race condition bug fix, Cabalization+jon.kristensen@pontarius.org**20110214140642+ Ignore-this: 77f07742d0237ea05ec831abd06765ff+ Changed the channel type from LogMessage to to Maybe LogMessage and had the Nothing value meaning that logging should exit the logging process.+] +[Improvements to make the library actually usable+jon.kristensen@pontarius.org**20110214131651+ Ignore-this: 5764a5a9368359497fd9bffbfe81ce7c+ Changed the name and input arguments of the of the loop function to make it more clean and understandable. Added functions analogous to the logDebug function for all other log levels. Killed the thread before closing the file (this included adding the thread ID to the state).+] +[Added the current date and time to the log file name+jon.kristensen@pontarius.org**20110214123820+ Ignore-this: 52ec1917a542bb567963d6de2e6ffa37+] +[Added logging files from jonkri/XMPP+jon.kristensen@pontarius.org**20110214093423+ Ignore-this: 4af936c9d3c389eb9b4e3e71acf90c4a+] +Patch bundle hash:+8172e9cbb10f2167d0185e67a0998f1c28cd76d1
@@ -0,0 +1,9 @@+# Each patch is attributed to its author, usually by email address (for+# example, `Fred Bloggs <fred@example.net>'). Darcs looks in several+# places for this author string: the --author option, the files+# _darcs/prefs/author (in the repository) and ~/.darcs/author (in your+# home directory), and the environment variables $DARCS_EMAIL and+# $EMAIL. If none of those exist, Darcs will prompt you for an author+# string and write it to _darcs/prefs/author.++jon.kristensen@pontarius.org
@@ -0,0 +1,30 @@+# This file contains a list of extended regular expressions, one per+# line. A file path matching any of these expressions is assumed to+# contain binary data (not text). The entries in ~/.darcs/binaries (if+# it exists) supplement those in this file.+# +# Blank lines, and lines beginning with an octothorpe (#) are ignored.+# See regex(7) for a description of extended regular expressions.+\.(a|A)$+\.(bmp|BMP)$+\.(bz2|BZ2)$+\.(doc|DOC)$+\.(elc|ELC)$+\.(exe|EXE)$+\.(gif|GIF)$+\.(gz|GZ)$+\.(iso|ISO)$+\.(jar|JAR)$+\.(jpe?g|JPE?G)$+\.(mng|MNG)$+\.(mpe?g|MPE?G)$+\.(p[nbgp]m|P[NBGP]M)$+\.(pdf|PDF)$+\.(png|PNG)$+\.(pyc|PYC)$+\.(so|SO)$+\.(tar|TAR)$+\.(tgz|TGZ)$+\.(tiff?|TIFF?)$+\.(z|Z)$+\.(zip|ZIP)$
@@ -0,0 +1,113 @@+# Boring file regexps:++### compiler and interpreter intermediate files+# haskell (ghc) interfaces+\.hi$+\.hi-boot$+\.o-boot$+# object files+\.o$+\.o\.cmd$+# profiling haskell+\.p_hi$+\.p_o$+# haskell program coverage resp. profiling info+\.tix$+\.prof$+# fortran module files+\.mod$+# linux kernel+\.ko\.cmd$+\.mod\.c$+(^|/)\.tmp_versions($|/)+# *.ko files aren't boring by default because they might+# be Korean translations rather than kernel modules+# \.ko$+# python, emacs, java byte code+\.py[co]$+\.elc$+\.class$+# objects and libraries; lo and la are libtool things+\.(obj|a|exe|so|lo|la)$+# compiled zsh configuration files+\.zwc$+# Common LISP output files for CLISP and CMUCL+\.(fas|fasl|sparcf|x86f)$++### build and packaging systems+# cabal intermediates+\.installed-pkg-config+\.setup-config+# standard cabal build dir, might not be boring for everybody+# ^dist(/|$)+# autotools+(^|/)autom4te\.cache($|/)+(^|/)config\.(log|status)$+# microsoft web expression, visual studio metadata directories+\_vti_cnf$+\_vti_pvt$+# gentoo tools+\.revdep-rebuild.*+# generated dependencies+^\.depend$++### version control systems+# cvs+(^|/)CVS($|/)+\.cvsignore$+# cvs, emacs locks+^\.#+# rcs+(^|/)RCS($|/)+,v$+# subversion+(^|/)\.svn($|/)+# mercurial+(^|/)\.hg($|/)+# git+(^|/)\.git($|/)+# bzr+\.bzr$+# sccs+(^|/)SCCS($|/)+# darcs+(^|/)_darcs($|/)+(^|/)\.darcsrepo($|/)+^\.darcs-temp-mail$+-darcs-backup[[:digit:]]+$+# gnu arch+(^|/)(\+|,)+(^|/)vssver\.scc$+\.swp$+(^|/)MT($|/)+(^|/)\{arch\}($|/)+(^|/).arch-ids($|/)+# bitkeeper+(^|/)BitKeeper($|/)+(^|/)ChangeSet($|/)++### miscellaneous+# backup files+~$+\.bak$+\.BAK$+# patch originals and rejects+\.orig$+\.rej$+# X server+\..serverauth.*+# image spam+\#+(^|/)Thumbs\.db$+# vi, emacs tags+(^|/)(tags|TAGS)$+#(^|/)\.[^/]+# core dumps+(^|/|\.)core$+# partial broken files (KIO copy operations)+\.part$+# waf files, see http://code.google.com/p/waf/+(^|/)\.waf-[[:digit:].]+-[[:digit:]]+($|/)+(^|/)\.lock-wscript$+# mac os finder+(^|/)\.DS_Store$
@@ -0,0 +1,1 @@+jonkri@patch-tag.com:/r/jonkri/HLogger
@@ -0,0 +1,1 @@+jonkri@patch-tag.com:/r/jonkri/HLogger
@@ -0,0 +1,3 @@+repo:jonkri@patch-tag.com:/r/jonkri/HLogger+thisrepo:/home/Jon/Projects/HLogger+cache:/home/Jon/.darcs/cache
binary file changed (absent → 65 bytes)
binary file changed (absent → 117 bytes)
binary file changed (absent → 154 bytes)
binary file changed (absent → 154 bytes)
binary file changed (absent → 153 bytes)
binary file changed (absent → 252 bytes)
binary file changed (absent → 252 bytes)
binary file changed (absent → 308 bytes)
binary file changed (absent → 306 bytes)
binary file changed (absent → 308 bytes)
binary file changed (absent → 303 bytes)
binary file changed (absent → 356 bytes)
binary file changed (absent → 350 bytes)
binary file changed (absent → 451 bytes)
binary file changed (absent → 478 bytes)
binary file changed (absent → 631 bytes)
binary file changed (absent → 801 bytes)
binary file changed (absent → 849 bytes)
binary file changed (absent → 846 bytes)
binary file changed (absent → 856 bytes)
binary file changed (absent → 1258 bytes)
binary file changed (absent → 1345 bytes)
binary file changed (absent → 1457 bytes)
binary file changed (absent → 1468 bytes)
binary file changed (absent → 1617 bytes)
binary file changed (absent → 1700 bytes)
binary file changed (absent → 1694 bytes)
binary file changed (absent → 1696 bytes)
@@ -0,0 +1,1 @@+pristine:0000000555-bf3083e887975f7ea9ef22082764ec906491a22ab7f34ea7ad66170c31306daf
binary file changed (absent → 23463 bytes)
binary file changed (absent → 48764 bytes)
binary file changed (absent → 44590 bytes)
binary file changed (absent → 44590 bytes)
@@ -0,0 +1,29 @@+module Paths_HLogger (+ version,+ getBinDir, getLibDir, getDataDir, getLibexecDir,+ getDataFileName+ ) where++import Data.Version (Version(..))+import System.Environment (getEnv)++version :: Version+version = Version {versionBranch = [0,0,1,0], versionTags = []}++bindir, libdir, datadir, libexecdir :: FilePath++bindir = "/home/Jon/.cabal/bin"+libdir = "/home/Jon/.cabal/lib/HLogger-0.0.1.0/ghc-6.12.3"+datadir = "/home/Jon/.cabal/share/HLogger-0.0.1.0"+libexecdir = "/home/Jon/.cabal/libexec"++getBinDir, getLibDir, getDataDir, getLibexecDir :: IO FilePath+getBinDir = catch (getEnv "HLogger_bindir") (\_ -> return bindir)+getLibDir = catch (getEnv "HLogger_libdir") (\_ -> return libdir)+getDataDir = catch (getEnv "HLogger_datadir") (\_ -> return datadir)+getLibexecDir = catch (getEnv "HLogger_libexecdir") (\_ -> return libexecdir)++getDataFileName :: FilePath -> IO FilePath+getDataFileName name = do+ dir <- getDataDir+ return (dir ++ "/" ++ name)
@@ -0,0 +1,20 @@+/* DO NOT EDIT: This file is automatically generated by Cabal */++/* package base-4.2.0.2 */+#define MIN_VERSION_base(major1,major2,minor) (\+ (major1) < 4 || \+ (major1) == 4 && (major2) < 2 || \+ (major1) == 4 && (major2) == 2 && (minor) <= 0)++/* package old-locale-1.0.0.2 */+#define MIN_VERSION_old_locale(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 0 || \+ (major1) == 1 && (major2) == 0 && (minor) <= 0)++/* package time-1.1.4 */+#define MIN_VERSION_time(major1,major2,minor) (\+ (major1) < 1 || \+ (major1) == 1 && (major2) < 1 || \+ (major1) == 1 && (major2) == 1 && (minor) <= 4)+
binary file changed (absent → 59298 bytes)
binary file changed (absent → 59298 bytes)
binary file changed (absent → 1284135 bytes)
binary file changed (absent → 23452 bytes)
binary file changed (absent → 44704 bytes)
binary file changed (absent → 2602 bytes)
binary file changed (absent → 3752 bytes)
binary file changed (absent → 1284135 bytes)
binary file changed (absent → 23452 bytes)
binary file changed (absent → 44704 bytes)
binary file changed (absent → 2602 bytes)
binary file changed (absent → 3752 bytes)
binary file changed (absent → 4720 bytes)
@@ -0,0 +1,528 @@+<!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+>HLogger</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_HLogger.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"+>HLogger-0.0.0.1: Simple, concurrent and easy-to-use logging library</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"+>HLogger</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Description</TD+></TR+><TR+><TD CLASS="doc"+><P+>This is a work in progress for a logging framework that aims to be+ simple, concurrent and easy-to-use.+</P+><P+>Use <TT+><A HREF="HLogger.html#v%3AstartLogger"+>startLogger</A+></TT+> to acquire a <TT+>HLoggerState</TT+>, and then use the+ <TT+>HLoggerState</TT+> in subsequent logging calls. Use the log functions to log,+ and don't forget to call <TT+><A HREF="HLogger.html#v%3AstopLogger"+>stopLogger</A+></TT+> when you're finished. See the log+ functions for information about what the different log levels mean.+</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"+><A HREF="#v%3AstartLogger"+>startLogger</A+> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> HLoggerState</TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AstopLogger"+>stopLogger</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogDebug"+>logDebug</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogInfo"+>logInfo</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogNotice"+>logNotice</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogWarning"+>logWarning</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogError"+>logError</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogCritical"+>logCritical</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogAlert"+>logAlert</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AlogEmergency"+>logEmergency</A+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/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"+><A NAME="v:startLogger"+><A NAME="v%3AstartLogger"+></A+></A+><B+>startLogger</B+> :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> HLoggerState</TD+></TR+><TR+><TD CLASS="doc"+>Call start to get the initial logging state. It takes a String, <TT+>prefix</TT+>,+ as its configuration input and creates a file <TT+>prefix-YYYYMMDDHHMM.log</TT+> in+ the current directory. It will use UTC time on system that supports it, and+ local time otherwise.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:stopLogger"+><A NAME="v%3AstopLogger"+></A+></A+><B+>stopLogger</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Stops the logger by closing the log file and exiting the logging thread.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logDebug"+><A NAME="v%3AlogDebug"+></A+></A+><B+>logDebug</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a debug message. Debug messages are the least significant messages.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logInfo"+><A NAME="v%3AlogInfo"+></A+></A+><B+>logInfo</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a purely informational message. Use logNotice instead of the+ information message is significant.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logNotice"+><A NAME="v%3AlogNotice"+></A+></A+><B+>logNotice</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a significant purely informational message.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logWarning"+><A NAME="v%3AlogWarning"+></A+></A+><B+>logWarning</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a message signaling a warning condition.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logError"+><A NAME="v%3AlogError"+></A+></A+><B+>logError</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a message signaling that a non-critical error has occurred.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logCritical"+><A NAME="v%3AlogCritical"+></A+></A+><B+>logCritical</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a message signaling that a critical error has occurred.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logAlert"+><A NAME="v%3AlogAlert"+></A+></A+><B+>logAlert</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a message signaling that an action must be taken.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+><A NAME="v:logEmergency"+><A NAME="v%3AlogEmergency"+></A+></A+><B+>logEmergency</B+> :: HLoggerState -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"+>String</A+> -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"+>IO</A+> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"+>()</A+></TD+></TR+><TR+><TD CLASS="doc"+>Logs a message signaling that the system is unusable.+</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.6.1</TD+></TR+></TABLE+></BODY+></HTML+>
@@ -0,0 +1,124 @@+<!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+>HLogger-0.0.0.1: Simple, concurrent and easy-to-use logging library (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"+>HLogger-0.0.0.1: Simple, concurrent and easy-to-use logging library</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+><TABLE ID="indexlist" CELLPADDING="0" CELLSPACING="5"+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logAlert</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogAlert"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logCritical</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogCritical"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logDebug</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogDebug"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logEmergency</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogEmergency"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logError</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogError"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logInfo</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogInfo"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logNotice</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogNotice"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>logWarning</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AlogWarning"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>startLogger</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AstartLogger"+>HLogger</A+></TD+></TR+><TR CLASS="indexrow"+><TD CLASS="indexentry"+>stopLogger</TD+><TD CLASS="indexlinks"+><A HREF="HLogger.html#v%3AstopLogger"+>HLogger</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
@@ -0,0 +1,27 @@+<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>
@@ -0,0 +1,139 @@+// 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;+ }+}
@@ -0,0 +1,297 @@+/* -------- 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;+}++
binary file changed (absent → 911 bytes)
@@ -0,0 +1,22 @@+<!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+>HLogger-0.0.0.1: Simple, concurrent and easy-to-use logging library</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="HLogger.html" TARGET="main"+>HLogger</A+><BR+></P+></TABLE+></BODY+></HTML+>
@@ -0,0 +1,80 @@+<!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+>HLogger-0.0.0.1: Simple, concurrent and easy-to-use logging library</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"+>HLogger-0.0.0.1: Simple, concurrent and easy-to-use logging library</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"+>HLogger-0.0.0.1: Simple, concurrent and easy-to-use logging library</TD+></TR+><TR+><TD CLASS="doc"+>This is a work in progress for a logging framework that+aims to be simple, concurrent and easy-to-use. We are+thinking about using monads and allow for multiple logging+implementations.+</TD+></TR+><TR+><TD CLASS="section1"+>Modules</TD+></TR+><TR+><TD+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0"+><TR+><TD STYLE="padding-left: 1.25em;width: 50em"+><A HREF="HLogger.html"+>HLogger</A+></TD+><TD+></TD+><TD+></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.6.1</TD+></TR+></TABLE+></BODY+></HTML+>
@@ -0,0 +1,61 @@+<!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+>HLogger</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"+>HLogger</DIV+><DIV CLASS="mini-synopsis"+><DIV CLASS="decl"+><A HREF="HLogger.html#v%3AstartLogger" TARGET="main"+>startLogger</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AstopLogger" TARGET="main"+>stopLogger</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogDebug" TARGET="main"+>logDebug</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogInfo" TARGET="main"+>logInfo</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogNotice" TARGET="main"+>logNotice</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogWarning" TARGET="main"+>logWarning</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogError" TARGET="main"+>logError</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogCritical" TARGET="main"+>logCritical</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogAlert" TARGET="main"+>logAlert</A+></DIV+> <DIV CLASS="decl"+><A HREF="HLogger.html#v%3AlogEmergency" TARGET="main"+>logEmergency</A+></DIV+></DIV+></DIV+></BODY+></HTML+>
binary file changed (absent → 56 bytes)
binary file changed (absent → 59 bytes)
@@ -0,0 +1,2 @@+[InstalledPackageInfo {installedPackageId = InstalledPackageId "HLogger-0.0.1.0-inplace", sourcePackageId = PackageIdentifier {pkgName = PackageName "HLogger", pkgVersion = Version {versionBranch = [0,0,1,0], versionTags = []}}, license = BSD3, copyright = "Copyright \169 2011, Jon Kristensen", maintainer = "jon.kristensen@pontarius.org", author = "Jon Kristensen, Mahdi Abdinejadi", stability = "alpha", homepage = "http://www.pontarius.org/sub-projects/hlogger/", pkgUrl = "http://www.pontarius.org/releases/hlogger-0.0.1.0.tar.gz", description = "This is a work in progress for a logging framework that\naims to be simple, concurrent and easy-to-use. We are\nthinking about using monads and allow for multiple logging\nimplementations.", category = "Logging, Concurrency", exposed = True, exposedModules = ["HLogger"], hiddenModules = [], importDirs = ["/home/Jon/Projects/HLogger/dist/build"], libraryDirs = ["/home/Jon/Projects/HLogger/dist/build"], hsLibraries = ["HSHLogger-0.0.1.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/home/Jon/Projects/HLogger/dist/doc/html/HLogger/HLogger.haddock"], haddockHTMLs = ["/home/Jon/Projects/HLogger/dist/doc/html/HLogger"]}+]
@@ -0,0 +1,2 @@+Saved package config for HLogger-0.0.1.0 written by Cabal-1.8.0.6 using ghc-6.12+LocalBuildInfo {installDirTemplates = InstallDirs {prefix = "/home/Jon/.cabal", bindir = "$prefix/bin", libdir = "$prefix/lib", libsubdir = "$pkgid/$compiler", dynlibdir = "$libdir", libexecdir = "$prefix/libexec", progdir = "$libdir/hugs/programs", includedir = "$libdir/$libsubdir/include", datadir = "$prefix/share", datasubdir = "$pkgid", docdir = "$datadir/doc/$pkgid", mandir = "$datadir/man", htmldir = "$docdir/html", haddockdir = "$htmldir"}, compiler = Compiler {compilerId = CompilerId GHC (Version {versionBranch = [6,12,3], versionTags = []}), compilerExtensions = [(CPP,"-XCPP"),(PostfixOperators,"-XPostfixOperators"),(UnknownExtension "TupleSections","-XTupleSections"),(PatternGuards,"-XPatternGuards"),(UnicodeSyntax,"-XUnicodeSyntax"),(MagicHash,"-XMagicHash"),(PolymorphicComponents,"-XPolymorphicComponents"),(ExistentialQuantification,"-XExistentialQuantification"),(KindSignatures,"-XKindSignatures"),(EmptyDataDecls,"-XEmptyDataDecls"),(ParallelListComp,"-XParallelListComp"),(TransformListComp,"-XTransformListComp"),(ForeignFunctionInterface,"-XForeignFunctionInterface"),(UnliftedFFITypes,"-XUnliftedFFITypes"),(UnknownExtension "GHCForeignImportPrim","-XGHCForeignImportPrim"),(LiberalTypeSynonyms,"-XLiberalTypeSynonyms"),(Rank2Types,"-XRank2Types"),(RankNTypes,"-XRankNTypes"),(ImpredicativeTypes,"-XImpredicativeTypes"),(TypeOperators,"-XTypeOperators"),(RecursiveDo,"-XRecursiveDo"),(UnknownExtension "DoRec","-XDoRec"),(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"),(UnknownExtension "NPlusKPatterns","-XNPlusKPatterns"),(NoMonoPatBinds,"-XNoMonoPatBinds"),(UnknownExtension "ExplicitForAll","-XExplicitForAll"),(UnknownExtension "MonoLocalBinds","-XMonoLocalBinds"),(RelaxedPolyRec,"-XRelaxedPolyRec"),(ExtendedDefaultRules,"-XExtendedDefaultRules"),(ImplicitParams,"-XImplicitParams"),(ScopedTypeVariables,"-XScopedTypeVariables"),(PatternSignatures,"-XPatternSignatures"),(UnboxedTuples,"-XUnboxedTuples"),(StandaloneDeriving,"-XStandaloneDeriving"),(DeriveDataTypeable,"-XDeriveDataTypeable"),(UnknownExtension "DeriveFunctor","-XDeriveFunctor"),(UnknownExtension "DeriveTraversable","-XDeriveTraversable"),(UnknownExtension "DeriveFoldable","-XDeriveFoldable"),(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", libraryConfig = Just (ComponentLocalBuildInfo {componentPackageDeps = [(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}),(InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}),(InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856",PackageIdentifier {pkgName = PackageName "time", pkgVersion = Version {versionBranch = [1,1,4], versionTags = []}})]}), executableConfigs = [("logger-0.0.1.0-test",ComponentLocalBuildInfo {componentPackageDeps = [(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], versionTags = []}}),(InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",PackageIdentifier {pkgName = PackageName "old-locale", pkgVersion = Version {versionBranch = [1,0,0,2], versionTags = []}}),(InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856",PackageIdentifier {pkgName = PackageName "time", pkgVersion = Version {versionBranch = [1,1,4], versionTags = []}})]})], installedPkgs = PackageIndex (fromList [(InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], 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","Constants"],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","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],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","Functor"],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 = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}),(InstalledPackageId "builtin_ffi",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", 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 = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "builtin_rts",InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = 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 = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], 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_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}),(InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,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","Debug"],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 = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}),(InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,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","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}),(InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923",InstalledPackageInfo {installedPackageId = InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-locale", 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 locale library.\nFor new code, the new locale library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Locale"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], hsLibraries = ["HSold-locale-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2/old-locale.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2"]}),(InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856",InstalledPackageInfo {installedPackageId = InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856", sourcePackageId = PackageIdentifier {pkgName = PackageName "time", pkgVersion = Version {versionBranch = [1,1,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "<ashley@semantic.org>", author = "Ashley Yakeley", stability = "stable", homepage = "http://semantic.org/TimeLib/", pkgUrl = "", description = "A time library", category = "System", exposed = True, exposedModules = [ModuleName ["Data","Time","Calendar"],ModuleName ["Data","Time","Calendar","MonthDay"],ModuleName ["Data","Time","Calendar","OrdinalDate"],ModuleName ["Data","Time","Calendar","WeekDate"],ModuleName ["Data","Time","Calendar","Julian"],ModuleName ["Data","Time","Calendar","Easter"],ModuleName ["Data","Time","Clock"],ModuleName ["Data","Time","Clock","POSIX"],ModuleName ["Data","Time","Clock","TAI"],ModuleName ["Data","Time","LocalTime"],ModuleName ["Data","Time","Format"],ModuleName ["Data","Time"]], hiddenModules = [ModuleName ["Data","Time","Calendar","Private"],ModuleName ["Data","Time","Calendar","Days"],ModuleName ["Data","Time","Calendar","Gregorian"],ModuleName ["Data","Time","Calendar","JulianYearDay"],ModuleName ["Data","Time","Clock","Scale"],ModuleName ["Data","Time","Clock","UTC"],ModuleName ["Data","Time","Clock","CTimeval"],ModuleName ["Data","Time","Clock","UTCDiff"],ModuleName ["Data","Time","LocalTime","TimeZone"],ModuleName ["Data","Time","LocalTime","TimeOfDay"],ModuleName ["Data","Time","LocalTime","LocalTime"],ModuleName ["Data","Time","Format","Parse"]], importDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], hsLibraries = ["HStime-1.1.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4/include"], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/time-1.1.4/time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/time-1.1.4"]})]) (fromList [(PackageName "base",fromList [(Version {versionBranch = [4,2,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3", sourcePackageId = PackageIdentifier {pkgName = PackageName "base", pkgVersion = Version {versionBranch = [4,2,0,2], 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","Constants"],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","MVar"],ModuleName ["GHC","IO"],ModuleName ["GHC","IO","IOMode"],ModuleName ["GHC","IO","Buffer"],ModuleName ["GHC","IO","Device"],ModuleName ["GHC","IO","BufferedIO"],ModuleName ["GHC","IO","FD"],ModuleName ["GHC","IO","Exception"],ModuleName ["GHC","IO","Encoding"],ModuleName ["GHC","IO","Encoding","Latin1"],ModuleName ["GHC","IO","Encoding","UTF8"],ModuleName ["GHC","IO","Encoding","UTF16"],ModuleName ["GHC","IO","Encoding","UTF32"],ModuleName ["GHC","IO","Encoding","Types"],ModuleName ["GHC","IO","Encoding","Iconv"],ModuleName ["GHC","IO","Encoding","CodePage"],ModuleName ["GHC","IO","Handle"],ModuleName ["GHC","IO","Handle","Types"],ModuleName ["GHC","IO","Handle","Internals"],ModuleName ["GHC","IO","Handle","FD"],ModuleName ["GHC","IO","Handle","Text"],ModuleName ["GHC","IOBase"],ModuleName ["GHC","Handle"],ModuleName ["GHC","IORef"],ModuleName ["GHC","IOArray"],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","Functor"],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 = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2"], hsLibraries = ["HSbase-4.2.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/base-4.2.0.2/include"], includes = ["HsBase.h"], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11",InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773",InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2/base.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/base-4.2.0.2"]}])]),(PackageName "ffi",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_ffi", sourcePackageId = PackageIdentifier {pkgName = PackageName "ffi", 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 = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSffi"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = [], depends = [], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "ghc-prim",fromList [(Version {versionBranch = [0,2,0,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11", sourcePackageId = PackageIdentifier {pkgName = PackageName "ghc-prim", pkgVersion = Version {versionBranch = [0,2,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","Debug"],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 = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], libraryDirs = ["/usr/lib/ghc-6.12.3/ghc-prim-0.2.0.0"], hsLibraries = ["HSghc-prim-0.2.0.0"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "builtin_rts"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/ghc-prim.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0"]}])]),(PackageName "integer-gmp",fromList [(Version {versionBranch = [0,2,0,1], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "integer-gmp-0.2.0.1-72436e28c79d056c87cc0d2d2f9f3773", sourcePackageId = PackageIdentifier {pkgName = PackageName "integer-gmp", pkgVersion = Version {versionBranch = [0,2,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","GMP","Internals"]], hiddenModules = [ModuleName ["GHC","Integer","Type"]], importDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], libraryDirs = ["/usr/lib/ghc-6.12.3/integer-gmp-0.2.0.1"], hsLibraries = ["HSinteger-gmp-0.2.0.1"], extraLibraries = ["gmp"], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "ghc-prim-0.2.0.0-9df3bd825ad17ca739e158c880a25b11"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1/integer-gmp.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/integer-gmp-0.2.0.1"]}])]),(PackageName "old-locale",fromList [(Version {versionBranch = [1,0,0,2], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923", sourcePackageId = PackageIdentifier {pkgName = PackageName "old-locale", 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 locale library.\nFor new code, the new locale library is recommended.", category = "System", exposed = True, exposedModules = [ModuleName ["System","Locale"]], hiddenModules = [], importDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], libraryDirs = ["/usr/lib/ghc-6.12.3/old-locale-1.0.0.2"], hsLibraries = ["HSold-locale-1.0.0.2"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = [], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2/old-locale.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/old-locale-1.0.0.2"]}])]),(PackageName "rts",fromList [(Version {versionBranch = [1,0], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "builtin_rts", sourcePackageId = 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 = ["/usr/lib/ghc-6.12.3"], hsLibraries = ["HSrts"], extraLibraries = ["m","rt","dl"], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/include"], includes = ["Stg.h"], depends = [InstalledPackageId "builtin_ffi"], 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_GHCziIOziException_stackOverflow_closure","-u","base_GHCziIOziException_heapOverflow_closure","-u","base_ControlziExceptionziBase_nonTermination_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnMVar_closure","-u","base_GHCziIOziException_blockedIndefinitelyOnSTM_closure","-u","base_ControlziExceptionziBase_nestedAtomically_closure","-u","base_GHCziWeak_runFinalizzerBatch_closure","-u","base_GHCziTopHandler_runIO_closure","-u","base_GHCziTopHandler_runNonIO_closure","-u","base_GHCziConc_ensureIOManagerIsRunning_closure","-u","base_GHCziConc_runSparks_closure","-u","base_GHCziConc_runHandlers_closure"], frameworkDirs = [], frameworks = [], haddockInterfaces = [], haddockHTMLs = []}])]),(PackageName "time",fromList [(Version {versionBranch = [1,1,4], versionTags = []},[InstalledPackageInfo {installedPackageId = InstalledPackageId "time-1.1.4-d9f7b7932dc3a4863006ed6b1d525856", sourcePackageId = PackageIdentifier {pkgName = PackageName "time", pkgVersion = Version {versionBranch = [1,1,4], versionTags = []}}, license = BSD3, copyright = "", maintainer = "<ashley@semantic.org>", author = "Ashley Yakeley", stability = "stable", homepage = "http://semantic.org/TimeLib/", pkgUrl = "", description = "A time library", category = "System", exposed = True, exposedModules = [ModuleName ["Data","Time","Calendar"],ModuleName ["Data","Time","Calendar","MonthDay"],ModuleName ["Data","Time","Calendar","OrdinalDate"],ModuleName ["Data","Time","Calendar","WeekDate"],ModuleName ["Data","Time","Calendar","Julian"],ModuleName ["Data","Time","Calendar","Easter"],ModuleName ["Data","Time","Clock"],ModuleName ["Data","Time","Clock","POSIX"],ModuleName ["Data","Time","Clock","TAI"],ModuleName ["Data","Time","LocalTime"],ModuleName ["Data","Time","Format"],ModuleName ["Data","Time"]], hiddenModules = [ModuleName ["Data","Time","Calendar","Private"],ModuleName ["Data","Time","Calendar","Days"],ModuleName ["Data","Time","Calendar","Gregorian"],ModuleName ["Data","Time","Calendar","JulianYearDay"],ModuleName ["Data","Time","Clock","Scale"],ModuleName ["Data","Time","Clock","UTC"],ModuleName ["Data","Time","Clock","CTimeval"],ModuleName ["Data","Time","Clock","UTCDiff"],ModuleName ["Data","Time","LocalTime","TimeZone"],ModuleName ["Data","Time","LocalTime","TimeOfDay"],ModuleName ["Data","Time","LocalTime","LocalTime"],ModuleName ["Data","Time","Format","Parse"]], importDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], libraryDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4"], hsLibraries = ["HStime-1.1.4"], extraLibraries = [], extraGHCiLibraries = [], includeDirs = ["/usr/lib/ghc-6.12.3/time-1.1.4/include"], includes = [], depends = [InstalledPackageId "base-4.2.0.2-10bdacb430274706a59728e237e2bfb3",InstalledPackageId "old-locale-1.0.0.2-0c1a4b40f2d3b9f6b725f54c00fe0923"], hugsOptions = [], ccOptions = [], ldOptions = [], frameworkDirs = [], frameworks = [], haddockInterfaces = ["/usr/share/doc/ghc/html/libraries/time-1.1.4/time.haddock"], haddockHTMLs = ["/usr/share/doc/ghc/html/libraries/time-1.1.4"]}])])]), pkgDescrFile = Just "./package.cabal", localPkgDescr = PackageDescription {package = PackageIdentifier {pkgName = PackageName "HLogger", pkgVersion = Version {versionBranch = [0,0,1,0], versionTags = []}}, license = BSD3, licenseFile = "LICENSE", copyright = "Copyright \169 2011, Jon Kristensen", maintainer = "jon.kristensen@pontarius.org", author = "Jon Kristensen, Mahdi Abdinejadi", stability = "alpha", testedWith = [(GHC,ThisVersion (Version {versionBranch = [6,12,3], versionTags = []}))], homepage = "http://www.pontarius.org/sub-projects/hlogger/", pkgUrl = "http://www.pontarius.org/releases/hlogger-0.0.1.0.tar.gz", bugReports = "mailto:info@pontarius.org", sourceRepos = [SourceRepo {repoKind = RepoHead, repoType = Just Darcs, repoLocation = Just "https://patch-tag.com/r/jonkri/HLogger", repoModule = Nothing, repoBranch = Nothing, repoTag = Nothing, repoSubdir = Nothing},SourceRepo {repoKind = RepoThis, repoType = Just Darcs, repoLocation = Just "https://patch-tag.com/r/jonkri/HLogger", repoModule = Nothing, repoBranch = Nothing, repoTag = Just "0.0.1.0", repoSubdir = Nothing}], synopsis = "Simple, concurrent and easy-to-use logging library", description = "This is a work in progress for a logging framework that\naims to be simple, concurrent and easy-to-use. We are\nthinking about using monads and allow for multiple logging\nimplementations.", category = "Logging, Concurrency", customFieldsPD = [], buildDepends = [Dependency (PackageName "base") (IntersectVersionRanges AnyVersion AnyVersion),Dependency (PackageName "old-locale") (IntersectVersionRanges AnyVersion AnyVersion),Dependency (PackageName "time") (IntersectVersionRanges AnyVersion AnyVersion)], descCabalVersion = UnionVersionRanges (ThisVersion (Version {versionBranch = [1,2], versionTags = []})) (LaterVersion (Version {versionBranch = [1,2], versionTags = []})), buildType = Just Simple, library = Just (Library {exposedModules = [ModuleName ["HLogger"]], libExposed = True, libBuildInfo = BuildInfo {buildable = True, buildTools = [], cppOptions = [], ccOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], cSources = [], hsSourceDirs = ["."], otherModules = [], extensions = [], extraLibs = [], extraLibDirs = [], includeDirs = [], includes = [], installIncludes = [], options = [], ghcProfOptions = [], ghcSharedOptions = [], customFieldsBI = [], targetBuildDepends = [Dependency (PackageName "base") AnyVersion,Dependency (PackageName "old-locale") AnyVersion,Dependency (PackageName "time") AnyVersion]}}), executables = [Executable {exeName = "logger-0.0.1.0-test", modulePath = "LoggerTest.hs", buildInfo = BuildInfo {buildable = True, buildTools = [], cppOptions = [], ccOptions = [], ldOptions = [], pkgconfigDepends = [], frameworks = [], cSources = [], hsSourceDirs = ["."], otherModules = [], extensions = [], extraLibs = [], extraLibDirs = [], includeDirs = [], includes = [], installIncludes = [], options = [], ghcProfOptions = [], ghcSharedOptions = [], customFieldsBI = [], targetBuildDepends = [Dependency (PackageName "base") AnyVersion,Dependency (PackageName "old-locale") AnyVersion,Dependency (PackageName "time") AnyVersion]}}], dataFiles = [], dataDir = "", extraSrcFiles = [], extraTmpFiles = []}, withPrograms = [("ar",ConfiguredProgram {programId = "ar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ar"}}),("gcc",ConfiguredProgram {programId = "gcc", programVersion = Just (Version {versionBranch = [4,5,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/gcc"}}),("ghc",ConfiguredProgram {programId = "ghc", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc"}}),("ghc-pkg",ConfiguredProgram {programId = "ghc-pkg", programVersion = Just (Version {versionBranch = [6,12,3], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ghc-pkg"}}),("haddock",ConfiguredProgram {programId = "haddock", programVersion = Just (Version {versionBranch = [2,6,1], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/haddock"}}),("hsc2hs",ConfiguredProgram {programId = "hsc2hs", programVersion = Just (Version {versionBranch = [0,67], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/hsc2hs"}}),("ld",ConfiguredProgram {programId = "ld", programVersion = Nothing, programArgs = ["-x"], programLocation = FoundOnSystem {locationPath = "/usr/bin/ld"}}),("pkg-config",ConfiguredProgram {programId = "pkg-config", programVersion = Just (Version {versionBranch = [0,25], versionTags = []}), programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/pkg-config"}}),("ranlib",ConfiguredProgram {programId = "ranlib", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/ranlib"}}),("strip",ConfiguredProgram {programId = "strip", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/usr/bin/strip"}}),("tar",ConfiguredProgram {programId = "tar", programVersion = Nothing, programArgs = [], programLocation = FoundOnSystem {locationPath = "/bin/tar"}})], withPackageDB = [GlobalPackageDB,UserPackageDB], withVanillaLib = True, withProfLib = False, withSharedLib = False, withProfExe = False, withOptimization = NormalOptimisation, withGHCiLib = True, splitObjs = False, stripExes = True, progPrefix = "", progSuffix = ""}
@@ -0,0 +1,87 @@+-- TODO: Set dependency versions.+-- TODO: Highlighting bug: The last line of the description.++Name: HLogger+Version: 0.0.1.0+Cabal-Version: >= 1.2+Build-Type: Simple+License: BSD3+License-File: LICENSE+Copyright: Copyright © 2011, Jon Kristensen+Author: Jon Kristensen, Mahdi Abdinejadi+Maintainer: jon.kristensen@pontarius.org+Stability: alpha+Homepage: http://www.pontarius.org/sub-projects/hlogger/+Bug-Reports: mailto:info@pontarius.org+Package-URL: http://www.pontarius.org/releases/hlogger-0.0.1.0.tar.gz+Synopsis: Simple, concurrent and easy-to-use logging library+Description: This is a work in progress for a logging framework that+ aims to be simple, concurrent and easy-to-use. We are+ thinking about using monads and allow for multiple logging+ implementations.+Category: Logging, Concurrency+Tested-With: GHC ==6.12.3+-- Data-Files:+-- Data-Dir:+-- Extra-Source-Files:+-- Extra-Tmp-Files:++Library+ Exposed-Modules: HLogger+ Exposed: True+ Build-Depends: base, old-locale, time+ -- Other-Modules:+ -- HS-Source-Dirs:+ -- Extensions:+ -- Build-Tools:+ -- Buildable:+ -- GHC-Options:+ -- GHC-Prof-Options:+ -- Hugs-Options:+ -- NHC98-Options:+ -- Includes:+ -- Install-Includes:+ -- Include-Dirs:+ -- C-Sources:+ -- Extra-Libraries:+ -- Extra-Lib-Dirs:+ -- CC-Options:+ -- LD-Options:+ -- Pkgconfig-Depends:+ -- Frameworks:++Executable logger-0.0.1.0-test+ Main-Is: LoggerTest.hs+ Build-Depends: base, old-locale, time+ -- Other-Modules:+ -- HS-Source-Dirs:+ -- Extensions:+ -- Build-Tools:+ -- Buildable:+ -- GHC-Options:+ -- GHC-Prof-Options:+ -- Hugs-Options:+ -- NHC98-Options:+ -- Includes:+ -- Install-Includes:+ -- Include-Dirs:+ -- C-Sources:+ -- Extra-Libraries:+ -- Extra-Lib-Dirs:+ -- CC-Options:+ -- LD-Options:+ -- Pkgconfig-Depends:+ -- Frameworks:++Source-Repository head+ Type: darcs+ -- Module:+ Location: https://patch-tag.com/r/jonkri/HLogger+ -- Subdir:++Source-Repository this+ Type: darcs+ -- Module:+ Location: https://patch-tag.com/r/jonkri/HLogger+ Tag: 0.0.1.0+ -- Subdir: