packages feed

oplang-0.4.0.0: oplang.cabal

cabal-version: 3.0

name: oplang
version: 0.4.0.0
synopsis: Stack-based esoteric programming language
description: Please see the README on GitHub at <https://github.com/aionescu/oplang#readme>
homepage: https://github.com/aionescu/oplang#readme
bug-reports: https://github.com/aionescu/oplang/issues
license: GPL-3.0-only
license-file: LICENSE.txt
author: Alex Ionescu
maintainer: aaionescu@pm.me
copyright: Copyright (C) 2019-2023 Alex Ionescu
category: Compilers/Interpreters, Language
build-type: Simple

extra-doc-files:
  CHANGELOG.md

extra-source-files:
  README.md

source-repository head
  type: git
  location: https://github.com/aionescu/oplang

common ghc-flags
  default-language: GHC2021
  default-extensions:
    ApplicativeDo
    BlockArguments
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DerivingVia
    DuplicateRecordFields
    FunctionalDependencies
    GADTs
    ImplicitParams
    ImpredicativeTypes
    LambdaCase
    LexicalNegation
    MagicHash
    MultiWayIf
    NegativeLiterals
    NoFieldSelectors
    NoMonomorphismRestriction
    NoStarIsType
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    PartialTypeSignatures
    PatternSynonyms
    QuantifiedConstraints
    RecordWildCards
    RecursiveDo
    TypeFamilyDependencies
    UnboxedTuples
    UndecidableInstances
    UnliftedDatatypes
    UnliftedNewtypes
    ViewPatterns

  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N
    -Wall
    -Wcompat
    -Widentities
    -Wmissing-deriving-strategies
    -Wno-name-shadowing
    -Wpartial-fields
    -Wprepositive-qualified-module
    -Wredundant-constraints
    -Wunused-packages

executable oplang
  import: ghc-flags

  hs-source-dirs: src
  main-is: Main.hs

  other-modules:
    Control.Monad.Comp
    Language.OpLang.Codegen
    Language.OpLang.Optimizer
    Language.OpLang.Parser
    Language.OpLang.Syntax
    Language.OpLang.Validation
    Opts
    Paths_oplang

  autogen-modules:
    Paths_oplang

  build-depends:
    base >=4.16 && <5
    , containers ^>= 0.6.7
    , directory ^>= 1.3.8
    , filepath ^>= 1.4.100
    , megaparsec ^>= 9.3
    , mtl ^>= 2.3
    , optparse-applicative ^>= 0.17
    , process ^>= 1.6.17
    , text ^>= 2
    , text-builder-linear ^>= 0.1
    , transformers ^>= 0.6