name:                duckling
version:             0.1.0.0
synopsis:            A Haskell library for parsing text into structured data.
description:
  Duckling is a library for parsing text into structured data.
homepage:            https://github.com/facebookincubator/duckling#readme
bug-reports:         https://github.com/facebookincubator/duckling/issues
license:             OtherLicense
license-files:       LICENSE,PATENTS
author:              Facebook, Inc.
maintainer:          duckling-team@fb.com
copyright:           Copyright (c) 2014-present, Facebook, Inc.
category:            Systems
build-type:          Simple
stability:           alpha
cabal-version:       >=1.10
tested-with:
  GHC==8.0.2

extra-source-files:    README.md
                     , PATENTS

library
  exposed-modules:     Duckling.Core
                     , Duckling.Debug
                     , Duckling.Testing.Types
  -- ------------------------------------------------------------------
  -- Core
                     , Duckling.Api
                     , Duckling.Engine
                     , Duckling.Engine.Regex
                     , Duckling.Lang
                     , Duckling.Resolve
                     , Duckling.Types
                     , Duckling.Types.Document
                     , Duckling.Types.Stash

  -- ------------------------------------------------------------------
  -- Rules
                     , Duckling.Rules
                     , Duckling.Rules.Common
                     , Duckling.Rules.AR
                     , Duckling.Rules.DA
                     , Duckling.Rules.DE
                     , Duckling.Rules.EN
                     , Duckling.Rules.ES
                     , Duckling.Rules.ET
                     , Duckling.Rules.FR
                     , Duckling.Rules.GA
                     , Duckling.Rules.HE
                     , Duckling.Rules.HR
                     , Duckling.Rules.ID
                     , Duckling.Rules.IT
                     , Duckling.Rules.JA
                     , Duckling.Rules.KO
                     , Duckling.Rules.MY
                     , Duckling.Rules.NB
                     , Duckling.Rules.NL
                     , Duckling.Rules.PL
                     , Duckling.Rules.PT
                     , Duckling.Rules.RO
                     , Duckling.Rules.RU
                     , Duckling.Rules.SV
                     , Duckling.Rules.TR
                     , Duckling.Rules.UK
                     , Duckling.Rules.VI
                     , Duckling.Rules.ZH

  -- ------------------------------------------------------------------
  -- Ranking
                     , Duckling.Ranking.Types
                     , Duckling.Ranking.Extraction
                     , Duckling.Ranking.Rank
                     , Duckling.Ranking.Classifiers
                     , Duckling.Ranking.Classifiers.DA
                     , Duckling.Ranking.Classifiers.DE
                     , Duckling.Ranking.Classifiers.EN
                     , Duckling.Ranking.Classifiers.ES
                     , Duckling.Ranking.Classifiers.FR
                     , Duckling.Ranking.Classifiers.GA
                     , Duckling.Ranking.Classifiers.HE
                     , Duckling.Ranking.Classifiers.HR
                     , Duckling.Ranking.Classifiers.IT
                     , Duckling.Ranking.Classifiers.KO
                     , Duckling.Ranking.Classifiers.NB
                     , Duckling.Ranking.Classifiers.PL
                     , Duckling.Ranking.Classifiers.PT
                     , Duckling.Ranking.Classifiers.RO
                     , Duckling.Ranking.Classifiers.SV
                     , Duckling.Ranking.Classifiers.ZH
                     , Duckling.Ranking.Classifiers.AR
                     , Duckling.Ranking.Classifiers.ET
                     , Duckling.Ranking.Classifiers.ID
                     , Duckling.Ranking.Classifiers.JA
                     , Duckling.Ranking.Classifiers.MY
                     , Duckling.Ranking.Classifiers.NL
                     , Duckling.Ranking.Classifiers.RU
                     , Duckling.Ranking.Classifiers.TR
                     , Duckling.Ranking.Classifiers.UK
                     , Duckling.Ranking.Classifiers.VI

  -- ------------------------------------------------------------------
  -- Dimensions
                     , Duckling.Dimensions
                     , Duckling.Dimensions.Common
                     , Duckling.Dimensions.Types
                     , Duckling.Dimensions.AR
                     , Duckling.Dimensions.DA
                     , Duckling.Dimensions.DE
                     , Duckling.Dimensions.EN
                     , Duckling.Dimensions.ES
                     , Duckling.Dimensions.ET
                     , Duckling.Dimensions.FR
                     , Duckling.Dimensions.GA
                     , Duckling.Dimensions.HE
                     , Duckling.Dimensions.HR
                     , Duckling.Dimensions.ID
                     , Duckling.Dimensions.IT
                     , Duckling.Dimensions.JA
                     , Duckling.Dimensions.KO
                     , Duckling.Dimensions.MY
                     , Duckling.Dimensions.NB
                     , Duckling.Dimensions.NL
                     , Duckling.Dimensions.PL
                     , Duckling.Dimensions.PT
                     , Duckling.Dimensions.RO
                     , Duckling.Dimensions.RU
                     , Duckling.Dimensions.SV
                     , Duckling.Dimensions.TR
                     , Duckling.Dimensions.UK
                     , Duckling.Dimensions.VI
                     , Duckling.Dimensions.ZH

                     -- AmountOfMoney
                     , Duckling.AmountOfMoney.EN.Corpus
                     , Duckling.AmountOfMoney.EN.Rules
                     , Duckling.AmountOfMoney.ES.Corpus
                     , Duckling.AmountOfMoney.ES.Rules
                     , Duckling.AmountOfMoney.FR.Corpus
                     , Duckling.AmountOfMoney.FR.Rules
                     , Duckling.AmountOfMoney.GA.Corpus
                     , Duckling.AmountOfMoney.GA.Rules
                     , Duckling.AmountOfMoney.HR.Corpus
                     , Duckling.AmountOfMoney.HR.Rules
                     , Duckling.AmountOfMoney.ID.Corpus
                     , Duckling.AmountOfMoney.ID.Rules
                     , Duckling.AmountOfMoney.KO.Corpus
                     , Duckling.AmountOfMoney.KO.Rules
                     , Duckling.AmountOfMoney.NB.Corpus
                     , Duckling.AmountOfMoney.NB.Rules
                     , Duckling.AmountOfMoney.PT.Corpus
                     , Duckling.AmountOfMoney.PT.Rules
                     , Duckling.AmountOfMoney.RO.Corpus
                     , Duckling.AmountOfMoney.RO.Rules
                     , Duckling.AmountOfMoney.SV.Corpus
                     , Duckling.AmountOfMoney.SV.Rules
                     , Duckling.AmountOfMoney.VI.Corpus
                     , Duckling.AmountOfMoney.VI.Rules
                     , Duckling.AmountOfMoney.Helpers
                     , Duckling.AmountOfMoney.Rules
                     , Duckling.AmountOfMoney.Types

                     -- Distance
                     , Duckling.Distance.EN.Corpus
                     , Duckling.Distance.EN.Rules
                     , Duckling.Distance.ES.Corpus
                     , Duckling.Distance.ES.Rules
                     , Duckling.Distance.FR.Corpus
                     , Duckling.Distance.FR.Rules
                     , Duckling.Distance.GA.Corpus
                     , Duckling.Distance.GA.Rules
                     , Duckling.Distance.HR.Corpus
                     , Duckling.Distance.HR.Rules
                     , Duckling.Distance.KO.Corpus
                     , Duckling.Distance.KO.Rules
                     , Duckling.Distance.PT.Corpus
                     , Duckling.Distance.PT.Rules
                     , Duckling.Distance.NL.Corpus
                     , Duckling.Distance.NL.Rules
                     , Duckling.Distance.RO.Corpus
                     , Duckling.Distance.RO.Rules
                     , Duckling.Distance.Helpers
                     , Duckling.Distance.Rules
                     , Duckling.Distance.Types

                     -- Duration
                     , Duckling.Duration.DA.Rules
                     , Duckling.Duration.DE.Rules
                     , Duckling.Duration.EN.Corpus
                     , Duckling.Duration.EN.Rules
                     , Duckling.Duration.FR.Corpus
                     , Duckling.Duration.FR.Rules
                     , Duckling.Duration.GA.Corpus
                     , Duckling.Duration.GA.Rules
                     , Duckling.Duration.HE.Rules
                     , Duckling.Duration.HR.Rules
                     , Duckling.Duration.IT.Rules
                     , Duckling.Duration.JA.Corpus
                     , Duckling.Duration.KO.Corpus
                     , Duckling.Duration.KO.Rules
                     , Duckling.Duration.NB.Corpus
                     , Duckling.Duration.NB.Rules
                     , Duckling.Duration.PL.Corpus
                     , Duckling.Duration.PL.Rules
                     , Duckling.Duration.PT.Corpus
                     , Duckling.Duration.SV.Corpus
                     , Duckling.Duration.SV.Rules
                     , Duckling.Duration.ZH.Corpus
                     , Duckling.Duration.RO.Corpus
                     , Duckling.Duration.RO.Rules
                     , Duckling.Duration.Helpers
                     , Duckling.Duration.Rules
                     , Duckling.Duration.Types

                     -- Email
                     , Duckling.Email.EN.Corpus
                     , Duckling.Email.EN.Rules
                     , Duckling.Email.FR.Corpus
                     , Duckling.Email.FR.Rules
                     , Duckling.Email.IT.Corpus
                     , Duckling.Email.IT.Rules
                     , Duckling.Email.Corpus
                     , Duckling.Email.Rules
                     , Duckling.Email.Types

                     -- Numeral
                     , Duckling.Numeral.AR.Corpus
                     , Duckling.Numeral.AR.Rules
                     , Duckling.Numeral.DA.Corpus
                     , Duckling.Numeral.DA.Rules
                     , Duckling.Numeral.DE.Corpus
                     , Duckling.Numeral.DE.Rules
                     , Duckling.Numeral.EN.Corpus
                     , Duckling.Numeral.EN.Rules
                     , Duckling.Numeral.ES.Corpus
                     , Duckling.Numeral.ES.Rules
                     , Duckling.Numeral.ET.Corpus
                     , Duckling.Numeral.ET.Rules
                     , Duckling.Numeral.FR.Corpus
                     , Duckling.Numeral.FR.Rules
                     , Duckling.Numeral.GA.Corpus
                     , Duckling.Numeral.GA.Rules
                     , Duckling.Numeral.HE.Corpus
                     , Duckling.Numeral.HE.Rules
                     , Duckling.Numeral.HR.Corpus
                     , Duckling.Numeral.HR.Rules
                     , Duckling.Numeral.ID.Corpus
                     , Duckling.Numeral.ID.Rules
                     , Duckling.Numeral.IT.Corpus
                     , Duckling.Numeral.IT.Rules
                     , Duckling.Numeral.JA.Corpus
                     , Duckling.Numeral.JA.Rules
                     , Duckling.Numeral.KO.Corpus
                     , Duckling.Numeral.KO.Rules
                     , Duckling.Numeral.MY.Corpus
                     , Duckling.Numeral.MY.Rules
                     , Duckling.Numeral.NB.Corpus
                     , Duckling.Numeral.NB.Rules
                     , Duckling.Numeral.PL.Corpus
                     , Duckling.Numeral.PL.Rules
                     , Duckling.Numeral.PT.Corpus
                     , Duckling.Numeral.PT.Rules
                     , Duckling.Numeral.RU.Corpus
                     , Duckling.Numeral.RU.Rules
                     , Duckling.Numeral.SV.Corpus
                     , Duckling.Numeral.SV.Rules
                     , Duckling.Numeral.TR.Corpus
                     , Duckling.Numeral.TR.Rules
                     , Duckling.Numeral.UK.Corpus
                     , Duckling.Numeral.UK.Rules
                     , Duckling.Numeral.VI.Corpus
                     , Duckling.Numeral.VI.Rules
                     , Duckling.Numeral.ZH.Corpus
                     , Duckling.Numeral.ZH.Rules
                     , Duckling.Numeral.NL.Corpus
                     , Duckling.Numeral.NL.Rules
                     , Duckling.Numeral.RO.Corpus
                     , Duckling.Numeral.RO.Rules
                     , Duckling.Numeral.Helpers
                     , Duckling.Numeral.Types

                     -- Ordinal
                     , Duckling.Ordinal.AR.Corpus
                     , Duckling.Ordinal.AR.Rules
                     , Duckling.Ordinal.DA.Corpus
                     , Duckling.Ordinal.DA.Rules
                     , Duckling.Ordinal.DE.Corpus
                     , Duckling.Ordinal.DE.Rules
                     , Duckling.Ordinal.EN.Corpus
                     , Duckling.Ordinal.EN.Rules
                     , Duckling.Ordinal.ES.Rules
                     , Duckling.Ordinal.ET.Corpus
                     , Duckling.Ordinal.ET.Rules
                     , Duckling.Ordinal.FR.Corpus
                     , Duckling.Ordinal.FR.Rules
                     , Duckling.Ordinal.GA.Corpus
                     , Duckling.Ordinal.GA.Rules
                     , Duckling.Ordinal.HE.Corpus
                     , Duckling.Ordinal.HE.Rules
                     , Duckling.Ordinal.HR.Corpus
                     , Duckling.Ordinal.HR.Rules
                     , Duckling.Ordinal.ID.Corpus
                     , Duckling.Ordinal.ID.Rules
                     , Duckling.Ordinal.IT.Corpus
                     , Duckling.Ordinal.IT.Rules
                     , Duckling.Ordinal.JA.Corpus
                     , Duckling.Ordinal.JA.Rules
                     , Duckling.Ordinal.KO.Corpus
                     , Duckling.Ordinal.KO.Rules
                     , Duckling.Ordinal.NB.Corpus
                     , Duckling.Ordinal.NB.Rules
                     , Duckling.Ordinal.NL.Corpus
                     , Duckling.Ordinal.NL.Rules
                     , Duckling.Ordinal.PL.Corpus
                     , Duckling.Ordinal.PL.Rules
                     , Duckling.Ordinal.PT.Corpus
                     , Duckling.Ordinal.PT.Rules
                     , Duckling.Ordinal.RO.Corpus
                     , Duckling.Ordinal.RO.Rules
                     , Duckling.Ordinal.RU.Corpus
                     , Duckling.Ordinal.RU.Rules
                     , Duckling.Ordinal.SV.Corpus
                     , Duckling.Ordinal.SV.Rules
                     , Duckling.Ordinal.TR.Corpus
                     , Duckling.Ordinal.TR.Rules
                     , Duckling.Ordinal.UK.Corpus
                     , Duckling.Ordinal.UK.Rules
                     , Duckling.Ordinal.VI.Corpus
                     , Duckling.Ordinal.VI.Rules
                     , Duckling.Ordinal.ZH.Corpus
                     , Duckling.Ordinal.ZH.Rules
                     , Duckling.Ordinal.Helpers
                     , Duckling.Ordinal.Types

                     -- PhoneNumber
                     , Duckling.PhoneNumber.PT.Corpus
                     , Duckling.PhoneNumber.PT.Rules
                     , Duckling.PhoneNumber.Corpus
                     , Duckling.PhoneNumber.Rules
                     , Duckling.PhoneNumber.Types

                     -- Quantity
                     , Duckling.Quantity.EN.Corpus
                     , Duckling.Quantity.EN.Rules
                     , Duckling.Quantity.FR.Corpus
                     , Duckling.Quantity.FR.Rules
                     , Duckling.Quantity.HR.Corpus
                     , Duckling.Quantity.HR.Rules
                     , Duckling.Quantity.KO.Corpus
                     , Duckling.Quantity.KO.Rules
                     , Duckling.Quantity.PT.Corpus
                     , Duckling.Quantity.PT.Rules
                     , Duckling.Quantity.RO.Corpus
                     , Duckling.Quantity.RO.Rules
                     , Duckling.Quantity.Helpers
                     , Duckling.Quantity.Types

                     -- Regex
                     , Duckling.Regex.Types

                     -- Temperature
                     , Duckling.Temperature.EN.Corpus
                     , Duckling.Temperature.EN.Rules
                     , Duckling.Temperature.ES.Corpus
                     , Duckling.Temperature.ES.Rules
                     , Duckling.Temperature.FR.Corpus
                     , Duckling.Temperature.FR.Rules
                     , Duckling.Temperature.GA.Corpus
                     , Duckling.Temperature.GA.Rules
                     , Duckling.Temperature.HR.Corpus
                     , Duckling.Temperature.HR.Rules
                     , Duckling.Temperature.IT.Corpus
                     , Duckling.Temperature.IT.Rules
                     , Duckling.Temperature.JA.Corpus
                     , Duckling.Temperature.JA.Rules
                     , Duckling.Temperature.KO.Corpus
                     , Duckling.Temperature.KO.Rules
                     , Duckling.Temperature.PT.Corpus
                     , Duckling.Temperature.PT.Rules
                     , Duckling.Temperature.RO.Corpus
                     , Duckling.Temperature.RO.Rules
                     , Duckling.Temperature.ZH.Corpus
                     , Duckling.Temperature.ZH.Rules
                     , Duckling.Temperature.Helpers
                     , Duckling.Temperature.Rules
                     , Duckling.Temperature.Types

                     -- Time
                     , Duckling.Time.DA.Corpus
                     , Duckling.Time.DA.Rules
                     , Duckling.Time.DE.Corpus
                     , Duckling.Time.DE.Rules
                     , Duckling.Time.EN.Corpus
                     , Duckling.Time.EN.Rules
                     , Duckling.Time.ES.Corpus
                     , Duckling.Time.ES.Rules
                     , Duckling.Time.FR.Corpus
                     , Duckling.Time.FR.Rules
                     , Duckling.Time.GA.Corpus
                     , Duckling.Time.GA.Rules
                     , Duckling.Time.HR.Corpus
                     , Duckling.Time.HR.Rules
                     , Duckling.Time.HE.Corpus
                     , Duckling.Time.HE.Rules
                     , Duckling.Time.IT.Corpus
                     , Duckling.Time.IT.Rules
                     , Duckling.Time.KO.Corpus
                     , Duckling.Time.KO.Rules
                     , Duckling.Time.NB.Corpus
                     , Duckling.Time.NB.Rules
                     , Duckling.Time.PL.Corpus
                     , Duckling.Time.PL.Rules
                     , Duckling.Time.PT.Corpus
                     , Duckling.Time.PT.Rules
                     , Duckling.Time.RO.Corpus
                     , Duckling.Time.RO.Rules
                     , Duckling.Time.SV.Corpus
                     , Duckling.Time.SV.Rules
                     , Duckling.Time.VI.Corpus
                     , Duckling.Time.VI.Rules
                     , Duckling.Time.ZH.Corpus
                     , Duckling.Time.ZH.Rules
                     , Duckling.Time.Corpus
                     , Duckling.Time.Helpers
                     , Duckling.Time.Types
                     -- REMOVE ME
                     , Duckling.Time.TimeZone.Parse

                     -- TimeGrain
                     , Duckling.TimeGrain.DA.Rules
                     , Duckling.TimeGrain.DE.Rules
                     , Duckling.TimeGrain.EN.Rules
                     , Duckling.TimeGrain.ES.Rules
                     , Duckling.TimeGrain.FR.Rules
                     , Duckling.TimeGrain.GA.Rules
                     , Duckling.TimeGrain.HE.Rules
                     , Duckling.TimeGrain.HR.Rules
                     , Duckling.TimeGrain.IT.Rules
                     , Duckling.TimeGrain.JA.Rules
                     , Duckling.TimeGrain.KO.Rules
                     , Duckling.TimeGrain.NB.Rules
                     , Duckling.TimeGrain.PL.Rules
                     , Duckling.TimeGrain.PT.Rules
                     , Duckling.TimeGrain.RO.Rules
                     , Duckling.TimeGrain.SV.Rules
                     , Duckling.TimeGrain.VI.Rules
                     , Duckling.TimeGrain.ZH.Rules
                     , Duckling.TimeGrain.Types

                     -- Url
                     , Duckling.Url.Corpus
                     , Duckling.Url.Helpers
                     , Duckling.Url.Rules
                     , Duckling.Url.Types

                     -- Volume
                     , Duckling.Volume.EN.Corpus
                     , Duckling.Volume.EN.Rules
                     , Duckling.Volume.ES.Corpus
                     , Duckling.Volume.ES.Rules
                     , Duckling.Volume.FR.Corpus
                     , Duckling.Volume.FR.Rules
                     , Duckling.Volume.GA.Corpus
                     , Duckling.Volume.GA.Rules
                     , Duckling.Volume.HR.Corpus
                     , Duckling.Volume.HR.Rules
                     , Duckling.Volume.IT.Corpus
                     , Duckling.Volume.IT.Rules
                     , Duckling.Volume.KO.Corpus
                     , Duckling.Volume.KO.Rules
                     , Duckling.Volume.PT.Corpus
                     , Duckling.Volume.PT.Rules
                     , Duckling.Volume.NL.Corpus
                     , Duckling.Volume.NL.Rules
                     , Duckling.Volume.RO.Corpus
                     , Duckling.Volume.RO.Rules
                     , Duckling.Volume.Helpers
                     , Duckling.Volume.Rules
                     , Duckling.Volume.Types
  build-depends:       base                  >= 4.8.2 && < 5.0
                     , array                 >= 0.5.1.1 && < 0.6
                     , attoparsec            >= 0.13.1.0 && < 0.14
                     , aeson                 >= 0.11.3.0 && < 1.1
                     , bytestring            >= 0.10.6.0 && < 0.11
                     , containers            >= 0.5.6.2 && < 0.6
                     , deepseq               >= 1.4.1.1 && < 1.5
                     , dependent-sum         >= 0.3.2.2 && < 0.5
                     , extra                 >= 1.4.10 && < 1.6
                     , hashable              >= 1.2.4.0 && < 1.3
                     , regex-base            >= 0.93.2 && < 0.94
                     , regex-pcre            >= 0.94.4 && < 0.95
                     , text                  >= 1.2.2.1 && < 1.3
                     , text-show             >= 2.1.2 && < 3.5
                     , time                  >= 1.5.0.1 && < 1.9
                     , timezone-series       >= 0.1.5.1 && < 0.2
                     , unordered-containers  >= 0.2.7.2 && < 0.3
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings
                     , RebindableSyntax

test-suite duckling-test
  type:                exitcode-stdio-1.0
  main-is:             TestMain.hs
  hs-source-dirs:      tests
  build-depends:       duckling
                     , base                  >= 4.8.2 && < 5.0
                     , aeson                 >= 0.11.3.0 && < 1.1
                     , text                  >= 1.2.2.1 && < 1.3
                     , time                  >= 1.5.0.1 && < 1.9
                     , unordered-containers  >= 0.2.7.2 && < 0.3
                     , tasty                 >= 0.11.1 && < 0.12
                     , tasty-hunit           >= 0.9.2 && < 1.0
  other-modules:       Duckling.Tests
                     , Duckling.Testing.Asserts

                     , Duckling.Api.Tests
                     , Duckling.Engine.Tests

  -- ------------------------------------------------------------------
  -- Dimensions
                     , Duckling.Dimensions.Tests

                     -- AmountOfMoney
                     , Duckling.AmountOfMoney.EN.Tests
                     , Duckling.AmountOfMoney.ES.Tests
                     , Duckling.AmountOfMoney.FR.Tests
                     , Duckling.AmountOfMoney.GA.Tests
                     , Duckling.AmountOfMoney.HR.Tests
                     , Duckling.AmountOfMoney.ID.Tests
                     , Duckling.AmountOfMoney.KO.Tests
                     , Duckling.AmountOfMoney.NB.Tests
                     , Duckling.AmountOfMoney.PT.Tests
                     , Duckling.AmountOfMoney.RO.Tests
                     , Duckling.AmountOfMoney.SV.Tests
                     , Duckling.AmountOfMoney.VI.Tests
                     , Duckling.AmountOfMoney.Tests

                     -- Distance
                     , Duckling.Distance.EN.Tests
                     , Duckling.Distance.ES.Tests
                     , Duckling.Distance.FR.Tests
                     , Duckling.Distance.GA.Tests
                     , Duckling.Distance.HR.Tests
                     , Duckling.Distance.KO.Tests
                     , Duckling.Distance.NL.Tests
                     , Duckling.Distance.PT.Tests
                     , Duckling.Distance.RO.Tests
                     , Duckling.Distance.Tests

                     -- Duration
                     , Duckling.Duration.EN.Tests
                     , Duckling.Duration.FR.Tests
                     , Duckling.Duration.GA.Tests
                     , Duckling.Duration.JA.Tests
                     , Duckling.Duration.KO.Tests
                     , Duckling.Duration.NB.Tests
                     , Duckling.Duration.PL.Tests
                     , Duckling.Duration.PT.Tests
                     , Duckling.Duration.RO.Tests
                     , Duckling.Duration.SV.Tests
                     , Duckling.Duration.ZH.Tests
                     , Duckling.Duration.Tests

                     -- Email
                     , Duckling.Email.EN.Tests
                     , Duckling.Email.FR.Tests
                     , Duckling.Email.IT.Tests
                     , Duckling.Email.Tests

                     -- Numeral
                     , Duckling.Numeral.AR.Tests
                     , Duckling.Numeral.DA.Tests
                     , Duckling.Numeral.DE.Tests
                     , Duckling.Numeral.EN.Tests
                     , Duckling.Numeral.ES.Tests
                     , Duckling.Numeral.ET.Tests
                     , Duckling.Numeral.FR.Tests
                     , Duckling.Numeral.GA.Tests
                     , Duckling.Numeral.HE.Tests
                     , Duckling.Numeral.HR.Tests
                     , Duckling.Numeral.ID.Tests
                     , Duckling.Numeral.IT.Tests
                     , Duckling.Numeral.JA.Tests
                     , Duckling.Numeral.KO.Tests
                     , Duckling.Numeral.MY.Tests
                     , Duckling.Numeral.NB.Tests
                     , Duckling.Numeral.NL.Tests
                     , Duckling.Numeral.PL.Tests
                     , Duckling.Numeral.PT.Tests
                     , Duckling.Numeral.RO.Tests
                     , Duckling.Numeral.RU.Tests
                     , Duckling.Numeral.SV.Tests
                     , Duckling.Numeral.TR.Tests
                     , Duckling.Numeral.UK.Tests
                     , Duckling.Numeral.VI.Tests
                     , Duckling.Numeral.ZH.Tests
                     , Duckling.Numeral.Tests

                     -- Ordinal
                     , Duckling.Ordinal.AR.Tests
                     , Duckling.Ordinal.DA.Tests
                     , Duckling.Ordinal.DE.Tests
                     , Duckling.Ordinal.EN.Tests
                     , Duckling.Ordinal.ET.Tests
                     , Duckling.Ordinal.FR.Tests
                     , Duckling.Ordinal.GA.Tests
                     , Duckling.Ordinal.HE.Tests
                     , Duckling.Ordinal.HR.Tests
                     , Duckling.Ordinal.ID.Tests
                     , Duckling.Ordinal.IT.Tests
                     , Duckling.Ordinal.JA.Tests
                     , Duckling.Ordinal.KO.Tests
                     , Duckling.Ordinal.NB.Tests
                     , Duckling.Ordinal.NL.Tests
                     , Duckling.Ordinal.PL.Tests
                     , Duckling.Ordinal.PT.Tests
                     , Duckling.Ordinal.RO.Tests
                     , Duckling.Ordinal.RU.Tests
                     , Duckling.Ordinal.SV.Tests
                     , Duckling.Ordinal.TR.Tests
                     , Duckling.Ordinal.UK.Tests
                     , Duckling.Ordinal.VI.Tests
                     , Duckling.Ordinal.ZH.Tests
                     , Duckling.Ordinal.Tests

                     -- PhoneNumber
                     , Duckling.PhoneNumber.PT.Tests
                     , Duckling.PhoneNumber.Tests

                     -- Quantity
                     , Duckling.Quantity.EN.Tests
                     , Duckling.Quantity.FR.Tests
                     , Duckling.Quantity.HR.Tests
                     , Duckling.Quantity.KO.Tests
                     , Duckling.Quantity.PT.Tests
                     , Duckling.Quantity.RO.Tests
                     , Duckling.Quantity.Tests

                     -- Temperature
                     , Duckling.Temperature.EN.Tests
                     , Duckling.Temperature.ES.Tests
                     , Duckling.Temperature.FR.Tests
                     , Duckling.Temperature.GA.Tests
                     , Duckling.Temperature.HR.Tests
                     , Duckling.Temperature.IT.Tests
                     , Duckling.Temperature.JA.Tests
                     , Duckling.Temperature.KO.Tests
                     , Duckling.Temperature.PT.Tests
                     , Duckling.Temperature.ZH.Tests
                     , Duckling.Temperature.RO.Tests
                     , Duckling.Temperature.Tests

                     -- Time
                     , Duckling.Time.DA.Tests
                     , Duckling.Time.DE.Tests
                     , Duckling.Time.EN.Tests
                     , Duckling.Time.ES.Tests
                     , Duckling.Time.FR.Tests
                     , Duckling.Time.GA.Tests
                     , Duckling.Time.HR.Tests
                     , Duckling.Time.HE.Tests
                     , Duckling.Time.IT.Tests
                     , Duckling.Time.KO.Tests
                     , Duckling.Time.NB.Tests
                     , Duckling.Time.PL.Tests
                     , Duckling.Time.PT.Tests
                     , Duckling.Time.RO.Tests
                     , Duckling.Time.SV.Tests
                     , Duckling.Time.VI.Tests
                     , Duckling.Time.ZH.Tests
                     , Duckling.Time.Tests

                     -- Url
                     , Duckling.Url.Tests

                     -- Volume
                     , Duckling.Volume.EN.Tests
                     , Duckling.Volume.ES.Tests
                     , Duckling.Volume.FR.Tests
                     , Duckling.Volume.GA.Tests
                     , Duckling.Volume.HR.Tests
                     , Duckling.Volume.IT.Tests
                     , Duckling.Volume.KO.Tests
                     , Duckling.Volume.PT.Tests
                     , Duckling.Volume.NL.Tests
                     , Duckling.Volume.RO.Tests
                     , Duckling.Volume.Tests

  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings

executable duckling-regen-exe
  main-is:             RegenMain.hs
  hs-source-dirs:      exe
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  other-modules:       Duckling.Ranking.Train
                     , Duckling.Ranking.Generate
  build-depends:       duckling
                     , base                  >= 4.8.2 && < 5.0
                     , haskell-src-exts      >= 1.18 && < 1.19
                     , text                  >= 1.2.2.1 && < 1.3
                     , unordered-containers  >= 0.2.7.2 && < 0.3
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings

executable duckling-example-exe
  main-is:             ExampleMain.hs
  hs-source-dirs:      exe
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  other-modules:       Duckling.Data.TimeZone
  build-depends:       duckling
                     , base                  >= 4.8.2 && < 5.0
                     , aeson                 >= 0.11.3.0 && < 1.1
                     , bytestring            >= 0.10.6.0 && < 0.11
                     , directory             >= 1.2.2.0 && < 1.4
                     , extra                 >= 1.4.10 && < 1.6
                     , filepath              >= 1.4.0.0 && < 1.5
                     , snap-core             >= 1.0.2.0 && < 1.1
                     , snap-server           >= 1.0.1.1 && < 1.1
                     , text                  >= 1.2.2.1 && < 1.3
                     , text-show             >= 2.1.2 && < 3.5
                     , time                  >= 1.5.0.1 && < 1.9
                     , timezone-olson        >= 0.1.7 && < 0.2
                     , timezone-series       >= 0.1.5.1 && < 0.2
                     , unordered-containers  >= 0.2.7.2 && < 0.3
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings

source-repository head
  type:     git
  location: https://github.com/facebookincubator/duckling