cabal-version: 3.4 name: linear-core-prototype version: 0.1.0.0 synopsis: Linear core validates optimizations wrt linearity description: An implementation of linear core with optimizations that preserve types license: BSD-3-Clause license-file: LICENSE author: Rodrigo Mesquita maintainer: rodrigo.m.mesquita@gmail.com -- copyright: category: Language build-type: Simple extra-doc-files: CHANGELOG.md, README.md -- extra-source-files: tested-with: GHC == 9.6.1 common common ghc-options: -Wall other-extensions: UnicodeSyntax default-language: GHC2021 build-depends: base >= 4.18 && < 5, bytestring >= 0.11 && < 0.13, template-haskell >= 2.21 && < 2.24, containers >= 0.6 && < 0.8, mtl >= 2.2 && < 3, text >= 2.0 && < 2.2, ghc >= 9.6 && < 9.12, -- Outdated, we moved to translation approach -- We used recursion-schemes with the standalone language (modules also commented below) -- However, for the plugin we need a patched version of GHC -- th-abstraction >= 0.6, -- recursion-schemes >= 5.2 && < 5.3, -- vector >= 0.13 && < 0.14, -- megaparsec >= 9.4 && < 9.5, -- diagnose >= 2.0.0 && < 2.1, -- prettyprinter >= 1.7 && < 2, -- parser-combinators >= 1.3 && < 2, library import: common exposed-modules: Linear.Core.Monad, Linear.Core.Multiplicities, Linear.Core.Plugin, Linear.Core -- Linear.Core.Translate.Syntax, Linear.Core.Translate.Parser, -- Linear.Core.Translate.Check, Linear.Core.Translate.Infer, hs-source-dirs: src -- executable linear-core-prototype -- import: common -- main-is: Main.hs -- -- other-modules: F -- build-depends: linear-core-prototype -- hs-source-dirs: app -- ghc-options: -dno-typeable-binds -- -- -fplugin=Linear.Core.Plugin test-suite linear-core-test import: common build-depends: linear-core-prototype, tasty < 1.5, tasty-hunit < 0.11 ghc-options: -fplugin=Linear.Core.Plugin type: exitcode-stdio-1.0 -- other-modules: Translate.Test hs-source-dirs: test main-is: Test.hs