File: hint.cabal

package info (click to toggle)
haskell-hint 0.3.2.1-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 188 kB
  • ctags: 1
  • sloc: haskell: 1,451; makefile: 3
file content (98 lines) | stat: -rw-r--r-- 3,438 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name:                hint
version:             0.3.2.1
description:
        This library defines an @Interpreter@ monad. It allows to load Haskell
        modules, browse them, type-check and evaluate strings with Haskell
        expressions and even coerce them into values. The library is
        thread-safe and type-safe (even the coercion of expressions to
        values).

        It is, esentially, a huge subset of the GHC API wrapped in a simpler
        API. Works with GHC 6.10.x and 6.8.x
        (this version was not tested with GHC 6.6).
synopsis:           Runtime Haskell interpreter (GHC API wrapper)
category:           Language, Compilers/Interpreters
license:            BSD3
license-file:       LICENSE
author:             Daniel Gorin
maintainer:         jcpetruzza@gmail.com
homepage:           http://projects.haskell.org/hint

cabal-version:      >= 1.2.3
build-type:         Simple
tested-with:        GHC==6.8.3, GHC==6.10

extra-source-files: README
                    AUTHORS
                    Changes
                    examples/example.hs
                    examples/SomeModule.hs
                    unit-tests/run-unit-tests.hs

Library
  build-depends:      haskell-src,
                      ghc > 6.6,
                      ghc-paths,
                      mtl,
                      filepath,
                      utf8-string,
                      extensible-exceptions,
                      MonadCatchIO-mtl >= 0.2
  if impl(ghc >= 6.8) {
    build-depends:    random,
                      directory

    if impl(ghc >= 6.10) {
      build-depends:  base >= 4, base < 5,
                      ghc-mtl >= 1.0.1.0, ghc-mtl < 1.1.0.0
                        -- this is to protect against the accidental selection
                        -- of the completely unrelated ghc'c ghc-mtl package
    } else {
      build-depends:  base >= 3, base < 4
    }
  }
  else { -- ghc < 6.8
      build-depends:    utf8-string < 0.3
  }

  exposed-modules:    Language.Haskell.Interpreter
                      Language.Haskell.Interpreter.Extension
                      Language.Haskell.Interpreter.Unsafe
                      Language.Haskell.Interpreter.GHC
                      Language.Haskell.Interpreter.GHC.Unsafe
  other-modules:      Hint.GHC
                      Hint.Base
                      Hint.InterpreterT
                      Hint.Compat
                      Hint.Configuration
                      Hint.Extension
                      Hint.Context
                      Hint.Conversions
                      Hint.Eval
                      Hint.Parsers
                      Hint.Reflection
                      Hint.Typecheck
                      Hint.Sandbox
                      Hint.Util

  if impl(ghc >= 6.11) {
      other-modules: Hint.Annotations
  }

  hs-source-dirs:     src

  ghc-options:        -Wall -O2
  extensions:         CPP
                      GeneralizedNewtypeDeriving
                      MultiParamTypeClasses
                      DeriveDataTypeable
                      MagicHash
                      TypeSynonymInstances
                      FlexibleInstances
                      FlexibleContexts
                      FunctionalDependencies
                      KindSignatures
                      Rank2Types
                      ScopedTypeVariables
                      ExistentialQuantification
                      PatternGuards