git.iko.soy/typeable/timezone-olson
on f096436 help sign in
.gitignoredeleted−16
since splitsnapshots
unifiedsplit
@@ -1,16 +0,0 @@
1−dist
2−cabal-dev
3−*.o
4−*.hi
5−*.chi
6−*.chs.h
7−*.dyn_o
8−*.dyn_hi
9−.virtualenv
10−.hpc
11−.hsenv
12−.cabal-sandbox/
13−cabal.sandbox.config
14−*.prof
15−*.aux
16−*.hp
.travis.ymldeleted−107
@@ -1,107 +0,0 @@
1−# This Travis job script has been generated by a script via
2−#
3−# runghc make_travis_yml_2.hs 'timezone-olson.cabal'
4−#
5−# For more information, see https://github.com/hvr/multi-ghc-travis
6−#
7−language: c
8−sudo: false
9−
10−git:
11− submodules: false # whether to recursively clone submodules
12−
13−cache:
14− directories:
15− - $HOME/.cabal/packages
16− - $HOME/.cabal/store
17−
18−before_cache:
19− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
20− # remove files that are regenerated by 'cabal update'
21− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*
22− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json
23− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache
24− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
25− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
26−
27− - rm -rfv $HOME/.cabal/packages/head.hackage
28−
29−matrix:
30− include:
31− - compiler: "ghc-8.0.1"
32− # env: TEST=--disable-tests BENCH=--disable-benchmarks
33− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.1], sources: [hvr-ghc]}}
34− - compiler: "ghc-8.0.2"
35− # env: TEST=--disable-tests BENCH=--disable-benchmarks
36− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
37− - compiler: "ghc-8.2.1"
38− # env: TEST=--disable-tests BENCH=--disable-benchmarks
39− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.1], sources: [hvr-ghc]}}
40− - compiler: "ghc-8.2.2"
41− # env: TEST=--disable-tests BENCH=--disable-benchmarks
42− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.2], sources: [hvr-ghc]}}
43− - compiler: "ghc-8.4.1"
44− # env: TEST=--disable-tests BENCH=--disable-benchmarks
45− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}}
46−
47−before_install:
48− - HC=${CC}
49− - HCPKG=${HC/ghc/ghc-pkg}
50− - unset CC
51− - ROOTDIR=$(pwd)
52− - mkdir -p $HOME/.local/bin
53− - "PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"
54− - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
55− - echo $HCNUMVER
56−
57−install:
58− - cabal --version
59− - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
60− - BENCH=${BENCH---enable-benchmarks}
61− - TEST=${TEST---enable-tests}
62− - HADDOCK=${HADDOCK-true}
63− - INSTALLED=${INSTALLED-true}
64− - GHCHEAD=${GHCHEAD-false}
65− - travis_retry cabal update -v
66− - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
67− - rm -fv cabal.project cabal.project.local
68− - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
69− - "printf 'packages: \".\"\\n' > cabal.project"
70− - cat cabal.project
71− - if [ -f "./configure.ac" ]; then
72− (cd "." && autoreconf -i);
73− fi
74− - rm -f cabal.project.freeze
75− - cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all
76− - cabal new-build -w ${HC} --disable-tests --disable-benchmarks --project-file="cabal.project" --dep -j2 all
77− - rm -rf .ghc.environment.* "."/dist
78− - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
79−
80−# Here starts the actual work to be performed for the package under test;
81−# any command which exits with a non-zero exit code causes the build to fail.
82−script:
83− # test that source-distributions can be generated
84− - (cd "." && cabal sdist)
85− - mv "."/dist/timezone-olson-*.tar.gz ${DISTDIR}/
86− - cd ${DISTDIR} || false
87− - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
88− - "printf 'packages: timezone-olson-*/*.cabal\\n' > cabal.project"
89− - cat cabal.project
90− # this builds all libraries and executables (without tests/benchmarks)
91− - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all
92−
93− # Build with installed constraints for packages in global-db
94− - if $INSTALLED; then echo cabal new-build -w ${HC} --disable-tests --disable-benchmarks $(${HCPKG} list --global --simple-output --names-only | sed 's/\([a-zA-Z0-9-]\{1,\}\) */--constraint="\1 installed" /g') all | sh; else echo "Not building with installed constraints"; fi
95−
96− # build & run tests, build benchmarks
97− - cabal new-build -w ${HC} ${TEST} ${BENCH} all
98−
99− # cabal check
100− - (cd timezone-olson-* && cabal check)
101−
102− # haddock
103− - rm -rf ./dist-newstyle
104− - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
105−
106−# REGENDATA ["timezone-olson.cabal"]
107−# EOF
Data/Time/LocalTime/TimeZone/Olson.hs+2−2
@@ -1,7 +1,7 @@
1-----------------------------------------------------------------------------
1-----------------------------------------------------------------------------
2-- |
2-- |
3-- Module : Data.Time.LocalTime.TimeZone.Olson
3-- Module : Data.Time.LocalTime.TimeZone.Olson
4−-- Copyright : Yitzchak Gale 2018
4+-- Copyright : Yitzchak Gale 2010
5--
5--
6-- Maintainer : Yitzchak Gale <gale@sefer.org>
6-- Maintainer : Yitzchak Gale <gale@sefer.org>
7-- Portability : portable
7-- Portability : portable
@@ -13,7 +13,7 @@
13-- converting the parsed data into @TimeZoneSeries@ and @TimeZone@
13-- converting the parsed data into @TimeZoneSeries@ and @TimeZone@
14-- objects.
14-- objects.
15
15
16−{- Copyright (c) 2018 Yitzchak Gale. All rights reserved.
16+{- Copyright (c) 2010 Yitzchak Gale. All rights reserved.
17For licensing information, see the BSD3-style license in the file
17For licensing information, see the BSD3-style license in the file
18LICENSE that was originally distributed by the author together with
18LICENSE that was originally distributed by the author together with
19this file. -}
19this file. -}
Data/Time/LocalTime/TimeZone/Olson/Parse.hs+9−12
@@ -3,7 +3,7 @@
3-----------------------------------------------------------------------------
3-----------------------------------------------------------------------------
4-- |
4-- |
5-- Module : Data.Time.LocalTime.TimeZone.Olson.Parse
5-- Module : Data.Time.LocalTime.TimeZone.Olson.Parse
6−-- Copyright : Yitzchak Gale 2018
6+-- Copyright : Yitzchak Gale 2010
7--
7--
8-- Maintainer : Yitzchak Gale <gale@sefer.org>
8-- Maintainer : Yitzchak Gale <gale@sefer.org>
9-- Portability : portable
9-- Portability : portable
@@ -14,7 +14,7 @@
14-- <http://www.twinsun.com/tz/tz-link.htm>. Functions are provided for
14-- <http://www.twinsun.com/tz/tz-link.htm>. Functions are provided for
15-- converting the parsed data into 'TimeZoneSeries' objects.
15-- converting the parsed data into 'TimeZoneSeries' objects.
16
16
17−{- Copyright (c) 2018 Yitzchak Gale. All rights reserved.
17+{- Copyright (c) 2010 Yitzchak Gale. All rights reserved.
18For licensing information, see the BSD3-style license in the file
18For licensing information, see the BSD3-style license in the file
19LICENSE that was originally distributed by the author together with
19LICENSE that was originally distributed by the author together with
20this file. -}
20this file. -}
@@ -107,16 +107,13 @@ getOlson :: SizeLimits -> Get OlsonData
107getOlson limits = do
107getOlson limits = do
108 (version, part1) <- getOlsonPart True limits get32bitInteger
108 (version, part1) <- getOlsonPart True limits get32bitInteger
109 -- There is one part for Version 1 format data, and two parts and a POSIX
109 -- There is one part for Version 1 format data, and two parts and a POSIX
110− -- TZ string for Version 2 or 3 format data
110+ -- TZ string for Version 2 format data
111− case () of
111+ case version of
112− _ | version == 0 -> return part1
112+ 0 -> return part1
113− | version == 50 || version == 51 -> do
114− (_, part2) <- getOlsonPart False limits get64bitInteger
113+ 50 -> do (_, part2) <- getOlsonPart False limits get64bitInteger
115− posixTZ <- getPosixTZ
114+ posixTZ <- getPosixTZ
116− return $ part1 `mappend` part2 `mappend` posixTZ
115+ return $ part1 `mappend` part2 `mappend` posixTZ
117− | otherwise -> do
118− let msg = "getOlson: invalid tzfile version " ++ toASCII [version]
119− verify (const False) msg undefined
116+ _ -> verify (const False) "invalid version number" undefined
120
117
121-- Parse the part of an Olson file that contains timezone data
118-- Parse the part of an Olson file that contains timezone data
122getOlsonPart :: Integral a => Bool -> SizeLimits -> Get a ->
119getOlsonPart :: Integral a => Bool -> SizeLimits -> Get a ->
Data/Time/LocalTime/TimeZone/Olson/Render.hs+2−2
@@ -2,7 +2,7 @@
2-----------------------------------------------------------------------------
2-----------------------------------------------------------------------------
3-- |
3-- |
4-- Module : Data.Time.LocalTime.TimeZone.Olson.Render
4-- Module : Data.Time.LocalTime.TimeZone.Olson.Render
5−-- Copyright : Yitzchak Gale 2018
5+-- Copyright : Yitzchak Gale 2010
6--
6--
7-- Maintainer : Yitzchak Gale <gale@sefer.org>
7-- Maintainer : Yitzchak Gale <gale@sefer.org>
8-- Portability : portable
8-- Portability : portable
@@ -12,7 +12,7 @@
12-- Unix-like systems. For more information about this format, see
12-- Unix-like systems. For more information about this format, see
13-- <http://www.twinsun.com/tz/tz-link.htm>.
13-- <http://www.twinsun.com/tz/tz-link.htm>.
14
14
15−{- Copyright (c) 2018ZZ Yitzchak Gale. All rights reserved.
15+{- Copyright (c) 2010 Yitzchak Gale. All rights reserved.
16For licensing information, see the BSD3-style license in the file
16For licensing information, see the BSD3-style license in the file
17LICENSE that was originally distributed by the author together with
17LICENSE that was originally distributed by the author together with
18this file. -}
18this file. -}
Data/Time/LocalTime/TimeZone/Olson/Types.hs+12−36
@@ -1,9 +1,8 @@
1{-# OPTIONS_HADDOCK hide #-}
1{-# OPTIONS_HADDOCK hide #-}
2−{-# LANGUAGE CPP #-}
3-----------------------------------------------------------------------------
2-----------------------------------------------------------------------------
4-- |
3-- |
5-- Module : Data.Time.LocalTime.TimeZone.Olson.Types
4-- Module : Data.Time.LocalTime.TimeZone.Olson.Types
6−-- Copyright : Yitzchak Gale 2018
5+-- Copyright : Yitzchak Gale 2010
7--
6--
8-- Maintainer : Yitzchak Gale <gale@sefer.org>
7-- Maintainer : Yitzchak Gale <gale@sefer.org>
9-- Portability : portable
8-- Portability : portable
@@ -15,7 +14,7 @@
15--
14--
16-- Both Version 1 and Version 2 timezone data can be represented.
15-- Both Version 1 and Version 2 timezone data can be represented.
17
16
18−{- Copyright (c) 2018 Yitzchak Gale. All rights reserved.
17+{- Copyright (c) 2010 Yitzchak Gale. All rights reserved.
19For licensing information, see the BSD3-style license in the file
18For licensing information, see the BSD3-style license in the file
20LICENSE that was originally distributed by the author together with
19LICENSE that was originally distributed by the author together with
21this file. -}
20this file. -}
@@ -37,33 +36,22 @@ module Data.Time.LocalTime.TimeZone.Olson.Types
37)
36)
38where
37where
39
38
40−#if MIN_VERSION_base(4,11,0)
41−import Data.Semigroup (Semigroup(..))
42−#endif
43import Data.Monoid (Monoid(..))
39import Data.Monoid (Monoid(..))
44import Control.Monad (mplus)
40import Control.Monad (mplus)
45
41
46-- | @OlsonData@ represents a full set of timezone data for a location.
42-- | @OlsonData@ represents a full set of timezone data for a location.
47--
43--
48−-- @OlsonData@ can represent timezone data from files in Version 1, 2,
44+-- @OlsonData@ can represent timezone data from files in Version 1 format
49−-- or 3 format.
45+-- or Version 2 format. Version 1 format files can only contain timestamp
46+-- values that can be represented in less than 32 bits, and cannot contain
47+-- a POSIX TZ string.
50--
48--
51−-- Version 1 format files can only contain timestamp values that can
52−-- be represented in less than 32 bits, and cannot contain a POSIX TZ
53−-- string.
54−--
55−-- In a Version 2 format file, the timezone data is split into two
49+-- In a Version 2 format file, the timezone data is split into two parts.
56−-- parts. The first part contains timezone data for which all
50+-- The first part contains timezone data for which all timestamp values
57−-- timestamp values can be represented in less than 32 bits, and the
51+-- can be represented in less than 32 bits, and the second part contains
58−-- second part contains timezone data for which 32 bits or more are
52+-- timezone data for which 32 bits or more are required to represent
59−-- required to represent timestamp values. The POSIX TZ string, if
53+-- timestamp values. The POSIX TZ string, if present, can only be rendered
60−-- present, can only be rendered in a Version 2 file, and appears
61−-- after both parts of the timezone data.
54+-- in a Version 2 file, and appears after both parts of the timezone data.
62−--
63−-- Version 3 format files relax certain syntax requirements for the
64−-- POSIX TZ string. Since we represent the POSIX TZ string as an
65−-- unparsed 'String', Version 3 is identical to Version 2 for our
66−-- purposes.
67data OlsonData =
55data OlsonData =
68 OlsonData {
56 OlsonData {
69 olsonTransitions :: [Transition],
57 olsonTransitions :: [Transition],
@@ -75,17 +63,6 @@ data OlsonData =
75 }
63 }
76 deriving (Eq, Show)
64 deriving (Eq, Show)
77
65
78−#if MIN_VERSION_base(4,11,0)
79−instance Semigroup OlsonData where
80− OlsonData a b c d <> OlsonData a' b' c' d' =
81− OlsonData (a ++ map (shiftBy $ length b) a')
82− (b ++ b') (c ++ c') (d `mplus` d')
83− where
84− shiftBy n trans = trans {transIndex = n + transIndex trans}
85−
86−instance Monoid OlsonData where
87− mempty = OlsonData [] [] [] Nothing
88−#else
89instance Monoid OlsonData where
66instance Monoid OlsonData where
90 mempty = OlsonData [] [] [] Nothing
67 mempty = OlsonData [] [] [] Nothing
91 mappend (OlsonData a b c d ) (OlsonData a' b' c' d') =
68 mappend (OlsonData a b c d ) (OlsonData a' b' c' d') =
@@ -93,7 +70,6 @@ instance Monoid OlsonData where
93 (b ++ b') (c ++ c') (d `mplus` d')
70 (b ++ b') (c ++ c') (d `mplus` d')
94 where
71 where
95 shiftBy n trans = trans {transIndex = n + transIndex trans}
72 shiftBy n trans = trans {transIndex = n + transIndex trans}
96−#endif
97
73
98-- | A @Transition@ represents a moment when the clocks change in a
74-- | A @Transition@ represents a moment when the clocks change in a
99-- timezone. It consists of a Unix timestamp value that indicates the
75-- timezone. It consists of a Unix timestamp value that indicates the
LICENSE+1−1
@@ -1,4 +1,4 @@
1−Copyright (c) 2010-2018 Yitzchak Gale. All rights reserved.
1+Copyright (c) 2010 Yitzchak Gale. All rights reserved.
2
2
3Redistribution and use in source and binary forms, with or without
3Redistribution and use in source and binary forms, with or without
4modification, are permitted provided that the following conditions are
4modification, are permitted provided that the following conditions are
README.md → READMErenamed+24−18
@@ -1,33 +1,39 @@
1−# timezone-olson
1+timezone-olson version 0.1.0
2−
3−On Hackage: [timezone-olson](http://hackage.haskell.org/package/timezone-olson)
4
2
5This package provides a parser and renderer for binary Olson timezone
3This package provides a parser and renderer for binary Olson timezone
6files whose format is specified by the tzfile(5) man page on Unix-like
4files whose format is specified by the tzfile(5) man page on Unix-like
7systems. For more information about this format, see
5systems. For more information about this format, see
8−[the IANA timezone database site](https://www.iana.org/time-zones).
9−
10−Functions are provided for
6+<http://www.twinsun.com/tz/tz-link.htm>. Functions are provided for
11−converting the parsed data into `TimeZoneSeries` objects from the
7+converting the parsed data into 'TimeZoneSeries' objects from the
12−[timezone-series](http://hackage.haskell.org/package/timezone-series)
13−package. On many platforms, binary Olson timezone
8+timezone-series package. On many platforms, binary Olson timezone
14files suitable for use with this package are available in the
9files suitable for use with this package are available in the
15−directory `/usr/share/zoneinfo` and its subdirectories on your computer.
10+directory /usr/share/zoneinfo and its subdirectories on your computer.
16
11
17−See also the
12+This version of timezone-olson is highly experimental. Expect there
18−[timezone-olson-th](http://hackage.haskell.org/package/timezone-olson-th)
13+to be bugs, and do not rely on any stability of the exposed
19−package for a way to include timezone informaton from a binary Olson
14+interfaces.
20−timezone file at compile time.
21−
22−Copyright (c) 2010-2018 Yitzchak Gale. All rights reserved.
23
15
16+Copyright (c) 2010 Yitzchak Gale. All rights reserved.
24For licensing information, see the BSD3-style license in the file
17For licensing information, see the BSD3-style license in the file
25LICENSE that was originally distributed by the author together with
18LICENSE that was originally distributed by the author together with
26this file.
19this file.
27
20
28−This package is part of the [time-ng project](http://projects.haskell.org/time-ng/).
21+This package is part of the time-ng project:
22+http://projects.haskell.org/time-ng/
23+
24+Send suggestions, bug reports, and patches to:
25+yitz@community.haskell.org
26+
27+INSTALLATION:
28+
29+To install the latest version of this package, make sure that
30+cabal-install is installed on your system (it is if you have installed
31+the Haskell Platform) and type the commands:
32+
33+cabal update
34+cabal install timezone-olson
29
35
30−## Testing utilities
36+TESTING UTILITIES:
31
37
32This package also provides two Haskell files, each of which can be
38This package also provides two Haskell files, each of which can be
33compiled into a command-line utility that might be helpful for testing
39compiled into a command-line utility that might be helpful for testing
timezone-olson.cabal+52−21
@@ -1,45 +1,76 @@
1+-- timezone-olson.cabal auto-generated by cabal init. For additional
2+-- options, see
3+-- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.
4+-- The name of the package.
1Name: timezone-olson
5Name: timezone-olson
6+
7+-- The package version. See the Haskell package versioning policy
8+-- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
9+-- standards guiding when and how versions should be incremented.
2−Version: 0.1.9
10+Version: 0.1.2
11+
12+-- A short (one-line) description of the package.
3Synopsis: A pure Haskell parser and renderer for binary Olson timezone files
13Synopsis: A pure Haskell parser and renderer for binary Olson timezone files
14+
15+-- A longer description of the package.
4Description: A parser and renderer for binary Olson timezone
16Description: A parser and renderer for binary Olson timezone
5 files whose format is specified by the tzfile(5)
17 files whose format is specified by the tzfile(5)
6 man page on Unix-like systems. For more
18 man page on Unix-like systems. For more
7 information about this format, see
19 information about this format, see
8− <http://www.iana.org/time-zones/repository/tz-link.html>.
20+ <http://www.twinsun.com/tz/tz-link.htm>. Functions
9− Functions are provided for converting the parsed data into
21+ are provided for converting the parsed data into
10 'TimeZoneSeries' objects from the timezone-series
22 'TimeZoneSeries' objects from the timezone-series
11 package. On many platforms, binary Olson timezone
23 package. On many platforms, binary Olson timezone
12 files suitable for use with this package are
24 files suitable for use with this package are
13 available in the directory /usr/share/zoneinfo
25 available in the directory /usr/share/zoneinfo
14 and its subdirectories on your computer.
26 and its subdirectories on your computer.
15− For a way to read binary Olson timezone files at compile
27+
16− time, see the timezone-olson-th package
28+-- URL for the project homepage or repository.
17− (<http://hackage.haskell.org/package/timezone-olson-th>).
18Homepage: http://projects.haskell.org/time-ng/
29Homepage: http://projects.haskell.org/time-ng/
30+
31+-- The license under which the package is released.
19License: BSD3
32License: BSD3
33+
34+-- The file containing the license text.
20License-file: LICENSE
35License-file: LICENSE
36+
37+-- The package author(s).
21Author: Yitzchak Gale
38Author: Yitzchak Gale
39+
40+-- An email address to which users can send suggestions, bug reports,
41+-- and patches.
22−Maintainer: yitz@sefer.org
42+Maintainer: yitz@community.haskell.org
43+
44+-- A copyright notice.
23−Copyright: Copyright (c) 2010-2018 Yitzchak Gale. All rights reserved.
45+Copyright: Copyright (c) 2010 Yitzchak Gale. All rights reserved.
46+
24Category: Data
47Category: Data
48+
25Build-type: Simple
49Build-type: Simple
26−Extra-source-files: README.md, catTZ.hs, hzdump.hs
27−Cabal-version: >=1.10
28−Tested-with: GHC > 8.0 && < 8.5
29
50
30−Source-repository HEAD
51+-- Extra files to be distributed with the package, such as examples or
31− type: git
52+-- a README.
32− location: https://github.com/ygale/timezone-olson.git
53+Extra-source-files: README, catTZ.hs, hzdump.hs
54+
55+-- Constraint on the version of Cabal needed to build this package.
56+Cabal-version: >=1.2
57+
33
58
34Library
59Library
35− Default-language: Haskell2010
60+ -- Modules exported by the library.
36− Exposed-modules: Data.Time.LocalTime.TimeZone.Olson
61+ Exposed-modules: Data.Time.LocalTime.TimeZone.Olson, Data.Time.LocalTime.TimeZone.Olson.Parse, Data.Time.LocalTime.TimeZone.Olson.Render, Data.Time.LocalTime.TimeZone.Olson.Types
37− , Data.Time.LocalTime.TimeZone.Olson.Parse
62+
38− , Data.Time.LocalTime.TimeZone.Olson.Render
63+ -- Packages needed in order to build this package.
39− , Data.Time.LocalTime.TimeZone.Olson.Types
40 Build-depends: base >= 3.0 && < 5.0,
64 Build-depends: base >= 3.0 && < 5.0,
41 timezone-series >= 0.1.0 && < 0.2,
65 timezone-series >= 0.1.0 && < 0.2,
42− time >= 1.6 && < 1.10,
66+ time >= 1.1.4 && < 1.5,
43− binary >= 0.4.1 && < 0.9,
67+ binary >= 0.4.1 && < 0.8,
44 bytestring >= 0.9 && < 1.0,
68 bytestring >= 0.9 && < 1.0,
45 extensible-exceptions >= 0.1.0 && < 0.2
69 extensible-exceptions >= 0.1.0 && < 0.2
70+
71+ -- Modules not exported by this package.
72+ -- Other-modules:
73+
74+ -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
75+ -- Build-tools:
76+