Haxl/haxl.cabal
Zejun Wu 8c645b0e20 Include label stack in HaxlException when ReportExceptionStack is on
Summary:
Add a new `ReportFlag` `ReportExceptionStack`. When it is enabled, we will
include the label stack in `HaxlException`. This will allow us provide stack
in `HaxlException` in non-prof rts. The label stack can also provide details
at different level compared to the `CostCentreStack`:

* with `-fprof-auto` or `-fprof-auto-top`, we can get reasonably detailed ccs.
* label stack only works well when enough labels are added either manually or
  by preprocessing.
* label stack works better for cases where the different `Haxl` computations
  are constructed dynamically in some common framework, where we also create
  dynamic labels.

Reviewed By: simonmar

Differential Revision: D32936619

fbshipit-source-id: 4aacd576dff062706a848a93f60d93982e4b8717
2021-12-09 20:40:29 -08:00

199 lines
3.9 KiB
Plaintext

name: haxl
version: 2.3.0.0
synopsis: A Haskell library for efficient, concurrent,
and concise data access.
homepage: https://github.com/facebook/Haxl
bug-reports: https://github.com/facebook/Haxl/issues
license: BSD3
license-files: LICENSE
author: Facebook, Inc.
maintainer: The Haxl Team <haxl-team@fb.com>
copyright: Copyright (c) 2014-present, Facebook, Inc.
category: Concurrency
build-type: Simple
stability: alpha
cabal-version: >= 1.10
tested-with:
GHC==8.2.2,
GHC==8.4.4,
GHC==8.6.5,
GHC==8.8.3,
GHC==8.10.1
description:
Haxl is a library and EDSL for efficient scheduling of concurrent data
accesses with a concise applicative API.
.
To use Haxl, you need to implement one or more /data sources/, which
provide the means for accessing remote data or other I/O that you
want to perform using Haxl.
.
Haxl provides two top-level modules:
.
* /Data-source implementations/ import "Haxl.Core",
.
* /Client code/ import your data sources and "Haxl.Prelude", or some
other client-level API that you provide.
extra-source-files:
readme.md
tests/LoadCache.txt
changelog.md
library
build-depends:
aeson >= 0.6 && < 1.6,
base >= 4.10 && < 5,
binary >= 0.7 && < 0.10,
bytestring >= 0.9 && < 0.11,
containers >= 0.5 && < 0.7,
deepseq,
exceptions >=0.8 && <0.11,
filepath >= 1.3 && < 1.5,
ghc-prim,
hashable >= 1.2 && < 1.4,
hashtables >= 1.2.3.1,
pretty == 1.1.*,
-- text 1.2.1.0 required for instance Binary Text
text >= 1.2.1.0 && < 1.3,
time >= 1.4 && < 1.10,
stm >= 2.4 && < 2.6,
transformers,
unordered-containers == 0.2.*,
vector >= 0.10 && <0.13
exposed-modules:
Haxl.Core,
Haxl.Core.CallGraph,
Haxl.Core.DataCache,
Haxl.Core.DataSource,
Haxl.Core.Exception,
Haxl.Core.Flags,
Haxl.Core.Memo,
Haxl.Core.Monad,
Haxl.Core.Fetch,
Haxl.Core.Parallel,
Haxl.Core.Profile,
Haxl.Core.Run,
Haxl.Core.RequestStore,
Haxl.Core.ShowP,
Haxl.Core.StateStore,
Haxl.Core.Stats,
Haxl.Prelude
Haxl.DataSource.ConcurrentIO
other-modules:
Haxl.Core.Util
default-language: Haskell2010
ghc-options:
-O2 -fprof-auto
-Wall
-Wno-name-shadowing
test-suite test
build-depends:
aeson,
HUnit >= 1.2 && < 1.7,
base >= 4.7 && < 5,
binary,
bytestring,
containers,
deepseq,
filepath,
hashable,
hashtables,
haxl,
test-framework,
test-framework-hunit,
text,
time,
unordered-containers
ghc-options:
-Wall
-fno-warn-name-shadowing
-fno-warn-missing-signatures
hs-source-dirs:
tests
main-is:
TestMain.hs
other-modules:
AdoTests
AllTests
BadDataSource
BatchTests
CoreTests
DataCacheTest
ExampleDataSource
ExceptionStackTests
FullyAsyncTest
LoadCache
MemoizationTests
MockTAO
MonadAsyncTest
OutgoneFetchesTests
ParallelTests
ProfileTests
SleepDataSource
StatsTests
TestBadDataSource
TestExampleDataSource
TestTypes
TestUtils
WorkDataSource
WriteTests
DataSourceDispatchTests
type:
exitcode-stdio-1.0
default-language: Haskell2010
flag bench
default: False
executable monadbench
if !flag(bench)
buildable: False
default-language:
Haskell2010
hs-source-dirs:
tests
build-depends:
base,
haxl,
hashable,
time,
optparse-applicative
main-is:
MonadBench.hs
other-modules:
ExampleDataSource
ghc-options:
-O2 -main-is MonadBench -rtsopts
executable cachebench
if !flag(bench)
buildable: False
default-language:
Haskell2010
hs-source-dirs:
tests
build-depends:
base,
haxl,
hashable,
hashtables,
time
main-is:
Bench.hs
ghc-options:
-O2 -main-is Bench -rtsopts