packages feed

language-bluespec-0.1: language-bluespec.cabal

cabal-version:      1.24
name:               language-bluespec
version:            0.1
synopsis:           An implementation of the Bluespec Haskell AST
description:        This package contains an implementation of the
                    <http://wiki.bluespec.com/ Bluespec> language's AST. In
                    particular, this implements the Bluespec Haskell (BH)
                    syntax, also known as Bluespec Classic. We may add support
                    for the Bluespec SystemVerilog (BSV) syntax at a later date.

                    To our knowledge, there is no formal grammar that describes
                    the syntax of BH or BSV, so this package is based off of the
                    code in the <https://github.com/B-Lang-org/bsc Bluespec
                    compiler>. Although the Bluespec compiler is written in
                    Haskell, it is not particularly simple to depend on the
                    compiler as a library, so this package exists to extract out
                    the relevant compiler code into a simple-to-use library.
homepage:           https://github.com/GaloisInc/language-bluespec
bug-reports:        https://github.com/GaloisInc/language-bluespec/issues
license:            BSD3
license-file:       LICENSE
author:             Galois, Inc.
maintainer:         Ryan Scott <rscott@galois.com>
stability:          Experimental
copyright:          (C) 2020-2022 Bluespec Inc., (C) 2022 Galois, Inc.
category:           Language
build-type:         Simple
extra-source-files: CHANGELOG.md, README.md
tested-with:        GHC == 8.6.5
                  , GHC == 8.8.4
                  , GHC == 8.10.7
                  , GHC == 9.0.2
                  , GHC == 9.2.2
                  , GHC == 9.4.8
                  , GHC == 9.6.4
                  , GHC == 9.8.1

source-repository head
  type:                git
  location:            https://github.com/GaloisInc/language-bluespec

library
    exposed-modules:    Language.Bluespec.Classic.AST
                        Language.Bluespec.Classic.AST.FString
                        Language.Bluespec.Classic.AST.Id
                        Language.Bluespec.Classic.AST.IntLit
                        Language.Bluespec.Classic.AST.Literal
                        Language.Bluespec.Classic.AST.Position
                        Language.Bluespec.Classic.AST.Pragma
                        Language.Bluespec.Classic.AST.SchedInfo
                        Language.Bluespec.Classic.AST.SString
                        Language.Bluespec.Classic.AST.Syntax
                        Language.Bluespec.Classic.AST.Type
                        Language.Bluespec.Classic.AST.Undefined
                        Language.Bluespec.Classic.AST.VModInfo

                        Language.Bluespec.Classic.AST.Builtin.FStrings
                        Language.Bluespec.Classic.AST.Builtin.Ids
                        Language.Bluespec.Classic.AST.Builtin.Types

                        Language.Bluespec.Lex
                        Language.Bluespec.Pretty
    other-modules:      Language.Bluespec.IntegerUtil
                        Language.Bluespec.Log2
                        Language.Bluespec.Prelude
                        Language.Bluespec.Util
    default-extensions: NoImplicitPrelude
    build-depends:      base >= 4.12 && < 5
                      , containers >= 0.1 && < 0.7
                      , pretty >= 1.1.2 && < 1.2
                      , text >= 0.1 && < 2.2

    if !impl(ghc >= 9.0)
      build-depends:    integer-gmp
    hs-source-dirs:     src
    default-language:   Haskell2010
    ghc-options:        -Wall