hermes-json-0.2.0.0: hermes-json.cabal
cabal-version: 3.0
name: hermes-json
version: 0.2.0.0
category: Text, Web, JSON, FFI
synopsis: Fast JSON decoding via simdjson C++ bindings
description:
A JSON parsing library focused on speed that binds to the simdjson C++ library using
the Haskell FFI. Hermes offers some helpful functions for building fast JSON decoders
for your Haskell types.
homepage: https://github.com/velveteer/hermes
license: MIT
license-file: LICENSE
author: Josh Miller <notjoshmiller@gmail.com>
maintainer: Josh Miller <notjoshmiller@gmail.com>
extra-source-files:
cbits/simdjson/simdjson.h
, cbits/simdjson/simdjson.cpp
, cbits/simdjson/LICENSE
, cbits/lib.cpp
, CHANGELOG.md
, README.md
tested-with:
, GHC == 8.10.7
, GHC == 9.0.1
, GHC == 9.2.1
source-repository head
type: git
location: git@github.com:velveteer/hermes.git
flag strict
description: Enable more GHC warnings plus @-Werror@, which turns warnings into errors.
default: False
manual: True
flag native_comp
description: Target native architecture for C++ compiler
default: False
manual: True
flag debug
description: Enable C++ debug support
default: False
manual: True
library
default-extensions:
OverloadedStrings
exposed-modules:
Data.Hermes
Data.Hermes.Decoder
Data.Hermes.Decoder.Path
Data.Hermes.Decoder.Time
Data.Hermes.Decoder.Types
Data.Hermes.Decoder.Value
Data.Hermes.SIMDJSON
Data.Hermes.SIMDJSON.Bindings
Data.Hermes.SIMDJSON.Types
Data.Hermes.SIMDJSON.Wrapper
build-depends:
attoparsec >= 0.13.1 && < 0.15,
attoparsec-iso8601 >= 1.0.2.0 && < 1.0.3.0,
base >= 4.13 && < 4.17,
bytestring >= 0.10.12 && < 0.12,
deepseq >= 1.4.4 && < 1.5,
dlist >= 0.8 && < 1.1,
mtl >= 2.1 && < 2.3,
scientific >= 0.3.6 && < 0.4,
text >= 1.2.3.0 && < 1.3 || >= 2.0 && < 2.1,
transformers >= 0.5.6 && < 0.6,
time >= 1.9.3 && < 1.10,
time-compat >= 1.9.5 && < 1.10,
unliftio >= 0.2.14 && < 0.3,
unliftio-core >= 0.2.0 && < 0.3
hs-source-dirs: src
default-language: Haskell2010
if flag(strict)
ghc-options:
-Wall
-Werror
-Wcompat
-Widentities
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wmissing-export-lists
-Wno-implicit-prelude
-Wno-safe
-Wno-unsafe
-Wnoncanonical-monad-instances
-Wredundant-constraints
-Wpartial-fields
-Wmissed-specialisations
-Wunused-packages
else
ghc-options: -Wall
cxx-sources:
cbits/lib.cpp
cbits/simdjson/simdjson.cpp
if flag(native_comp)
if flag (debug)
cxx-options: -std=c++17 -march=native
else
cxx-options: -std=c++17 -DNDEBUG -march=native
else
if flag (debug)
cxx-options: -std=c++17
else
cxx-options: -std=c++17 -DNDEBUG
include-dirs:
cbits
install-includes:
cbits/simdjson/simdjson.h
extra-libraries:
stdc++
test-suite hermes-test
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: test.hs
ghc-options: -Wall
build-depends:
aeson >= 2.0.1 && < 2.1,
base,
bytestring,
containers >= 0.6.2 && < 0.7,
hermes-json,
scientific,
text,
hedgehog >= 1.0.5 && < 1.1,
tasty >= 1.4.2 && < 1.5,
tasty-hedgehog >= 1.1.0 && < 1.2,
time