packages feed

inline-r-1.0.0: inline-r.cabal

name:                inline-r
version:             1.0.0
license:             BSD3
license-file:        LICENSE
copyright:           Copyright (c) 2013-2015 Amgen, Inc.
                     Copyright (c) 2015-2020 Tweag I/O Limited.
author:              Mathieu Boespflug, Facundo Dominguez, Alexander Vershilov
maintainer:          Mathieu Boespflug <m@tweag.io>
build-type:          Simple
Category:            FFI
Synopsis:            Seamlessly call R from Haskell and vice versa. No FFI required.
description:

  For up to date Haddock documentation, please see
  <http://www.stackage.org/package/inline-r>.

homepage:            https://tweag.github.io/HaskellR
cabal-version:       >=1.10

extra-source-files:   CHANGELOG.md
                      cbits/missing_r.h
                      tests/shootout/binarytrees.R
                      tests/shootout/fasta.R
                      tests/shootout/knucleotide.R
                      tests/shootout/fastaredux.R
                      tests/shootout/mandelbrot.R
                      tests/shootout/mandelbrot-noout.R
                      tests/shootout/nbody.R
                      tests/shootout/pidigits.R
                      tests/shootout/regexdna.R
                      tests/shootout/reversecomplement.R
                      tests/shootout/spectralnorm.R
                      tests/shootout/spectralnorm-math.R
                      tests/shootout/fannkuchredux.R
                      tests/R/fib.R
                      tests/R/fib-benchmark.R
                      ./R/collectAntis.R
extra-tmp-files:     inline-r.buildinfo

source-repository head
  type:     git
  location: git://github.com/tweag/HaskellR.git
  subdir: inline-r

library
  exposed-modules:     Control.Memory.Region
                       Data.Vector.SEXP
                       Data.Vector.SEXP.Base
                       Data.Vector.SEXP.Mutable
                       Foreign.R
                       Foreign.R.Constraints
                       Foreign.R.Context
                       Foreign.R.Embedded
                       Foreign.R.Encoding
                       Foreign.R.Error
                       Foreign.R.Internal
                       Foreign.R.Parse
                       Foreign.R.Type
                       H.Prelude
                       H.Prelude.Interactive
                       Language.R
                       Language.R.Debug
                       Language.R.GC
                       Language.R.Globals
                       Language.R.HExp
                       Language.R.Instance
                       Language.R.Internal
                       Language.R.Internal.FunWrappers
                       Language.R.Internal.FunWrappers.TH
                       Language.R.Literal
                       Language.R.Matcher
                       Language.R.QQ
  if !os(windows)
    exposed-modules:   Foreign.R.EventLoop
                       Language.R.Event
  other-modules:       Control.Monad.R.Class
                       Control.Monad.R.Internal
                       Data.Vector.SEXP.Mutable.Internal
                       Internal.Error
  build-depends:       base >=4.7 && <5
                     , aeson >=0.6 && <2.2
                     , bytestring >=0.10 && <0.12
                     , containers >=0.5 && <0.7
                     , data-default-class >=0.1.2.0 && <0.2
                     , deepseq >=1.3 && <1.5
                     , exceptions >=0.6 && <1.1
                     , heredoc >=0.2 && <0.3
                     , mtl >=2.1 && <2.3
                     , pretty >=1.1 && <1.2
                     , primitive >=0.5 && <0.8
                     , process >=1.2 && <1.7
                     , reflection >=2 && <2.2
                     , setenv >=0.1.1 && <0.2
                     , template-haskell >=2.8 && <2.20
                     , temporary >=1.2 && <1.4
                     , text >=0.11 && <2.1
                     , th-lift >=0.6 && <0.9
                     , th-orphans >=0.8 && <0.14
                     , transformers >=0.3 && <0.6
                     , vector >=0.10 && <0.14
  if impl(ghc < 8.2.1)
    build-depends:
      inline-c >=0.5.6.1 && <0.6
  else
    build-depends:
      inline-c >=0.6 && <0.10
  if impl(ghc <9)
      build-depends: singletons >=2.7 && <3
  else
      build-depends:
          singletons >=3 && <3.1,
          singletons-th >=3 && <3.2
  hs-source-dirs:      src
  includes:            cbits/missing_r.h
  c-sources:           cbits/missing_r.c
  include-dirs:        cbits
  default-language:    Haskell2010
  other-extensions:    CPP
                       ForeignFunctionInterface
  build-tools:         hsc2hs
  if os(windows)
    extra-libraries:   R
  else
    build-depends:     unix >= 2.6 && <2.8
    pkgconfig-depends: libR >= 3.0
  -- XXX -fcontext-stack=32 required on GHC >= 7.8 to allow foreign
  -- export function -wrappers of high arities.
  ghc-options:         -freduction-depth=32
  --- We don't use ticks for promoted constructors, because we use
  --- promoted constructors heavily and because they confuse hsc2hs.
  ghc-options:         -Wall -fno-warn-unticked-promoted-constructors

test-suite tests
  main-is:             tests.hs
  type:                exitcode-stdio-1.0
  build-depends:       inline-r
                     , base >=4.6 && <5
                     , bytestring >=0.10 && <0.12
                     , directory >=1.2 && <1.4
                     , filepath >=1.3 && <1.5
                     , heredoc >=0.2 && <0.3
                     , ieee754 >=0.7 && <0.9
                     , mtl >=2.0 && <2.3
                     , process >=1.2 && <1.7
                     , quickcheck-assertions >=0.1.1 && <0.4
                     , singletons >=0.10 && <3.1
                     , strict >=0.3.2 && <0.5
                     , tasty >=0.11 && <1.5
                     , tasty-expected-failure >=0.11 && <0.13
                     , tasty-golden >=2.3 && <2.4
                     , tasty-hunit >=0.4.1 && <0.11
                     , tasty-quickcheck >=0.4.1 && <0.11
                     , temporary >=1.2 && <1.4
                     , text >=0.11 && <2.1
                     , vector >=0.12.3.1 && <0.14
  if !os(windows)
    build-depends:     unix >=2.5 && <2.8
  other-modules:       Test.GC
                       Test.FunPtr
                       Test.Constraints
                       Test.Event
                       Test.Regions
                       Test.Vector
                       Test.Matcher
  ghc-options:         -Wall -threaded
  hs-source-dirs:      tests
  default-language:    Haskell2010

test-suite test-qq
  main-is:             test-qq.hs
  type:                exitcode-stdio-1.0
  build-depends:       inline-r
                     , base >=4.6 && <5
                     , mtl >=2.0 && <2.3
                     , process >=1.2 && <1.7
                     , tasty-hunit >=0.4.1 && <0.11
                     , singletons >=0.9 && <3.1
                     , text >=0.11 && <2.1
  ghc-options:         -Wall -threaded
  hs-source-dirs:      tests
  default-language:    Haskell2010

test-suite test-shootout
  main-is:             test-shootout.hs
  type:                exitcode-stdio-1.0
  other-modules:       Test.Scripts
  build-depends:       inline-r
                     , base >=4.6 && <5
                     , filepath >=1.3 && <1.5
                     , process >=1.2 && <1.7
                     , silently >=1.2 && <1.3
                     , tasty >=0.3 && <1.5
                     , tasty-hunit >=0.4.1 && <0.11
                     , template-haskell >=2.8 && <2.20
  ghc-options:         -Wall -threaded
  hs-source-dirs:      tests
  default-language:    Haskell2010
  if os(windows)
    buildable:         False

benchmark bench-qq
  main-is:             bench-qq.hs
  type:                exitcode-stdio-1.0
  build-depends:       inline-r
                     , base >=4.6 && <5
                     , criterion >=0.8 && <1.7
                     , filepath >=1.3 && <1.5
                     , process >=1.2 && <1.7
                     , template-haskell >=2.8 && <2.20
  ghc-options:         -Wall -threaded
  hs-source-dirs:      tests
  default-language:    Haskell2010

benchmark bench-hexp
  main-is:             bench-hexp.hs
  type:                exitcode-stdio-1.0
  build-depends:       inline-r
                     , base >=4.6 && <5
                     , criterion >=0.8 && <1.7
                     , primitive >=0.5 && <0.8
                     , vector >=0.10 && <0.14
                     , singletons >=2.7 && <3.1
  ghc-options:         -Wall -threaded
  hs-source-dirs:      tests
  default-language:    Haskell2010