algebraic-path-0.1.0.1: algebraic-path.cabal
cabal-version: 3.0
name: algebraic-path
version: 0.1.0.1
synopsis: Flexible and simple path manipulation library
description:
Path library that:
- Models paths in canonical form
- Makes paths monoidally composable and provides a rich algebra
- Avoids type-level wizardry
- Doesn't target Windows thus maintaining focus and avoiding quirks
category: Path, FilePath, Filesystem
author: Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
copyright: (c) 2023 Nikita Volkov
license: MIT
license-file: LICENSE
source-repository head
type: git
location: https://github.com/nikita-volkov/algebraic-path
common base
default-language: Haskell2010
default-extensions:
ApplicativeDo
Arrows
BangPatterns
BinaryLiterals
BlockArguments
ConstraintKinds
DataKinds
DefaultSignatures
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveLift
DeriveTraversable
DerivingVia
DuplicateRecordFields
EmptyCase
EmptyDataDecls
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
HexFloatLiterals
ImportQualifiedPost
LambdaCase
LiberalTypeSynonyms
MultiParamTypeClasses
MultiWayIf
NoImplicitPrelude
NoMonomorphismRestriction
NumericUnderscores
OverloadedStrings
ParallelListComp
PatternGuards
PatternSynonyms
QuasiQuotes
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
StrictData
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
ViewPatterns
common executable
import: base
ghc-options:
-O2
-threaded
-with-rtsopts=-N
-rtsopts
-funbox-strict-fields
common test
import: base
ghc-options:
-threaded
-with-rtsopts=-N
library
import: base
hs-source-dirs: src/library
exposed-modules: AlgebraicPath
other-modules:
build-depends:
QuickCheck >=2.14 && <3,
algebraic-path:ast,
algebraic-path:util,
attoparsec >=0.13 && <0.15,
base >=4.14 && <5,
text-builder ^>=1.0,
library ast
import: base
hs-source-dirs: src/ast
exposed-modules:
AlgebraicPath.Ast.Component
AlgebraicPath.Ast.Name
AlgebraicPath.Ast.Path
other-modules:
AlgebraicPath.Ast.Name.NameSegment
build-depends:
QuickCheck >=2.14 && <3,
algebraic-path:util,
attoparsec >=0.13 && <0.15,
base >=4.14 && <5,
natural-sort ^>=0.1.2,
text >=1.2 && <3,
text-builder ^>=1.0,
library util
import: base
hs-source-dirs: src/util
exposed-modules:
AlgebraicPath.Util.List
AlgebraicPath.Util.MonadPlus
AlgebraicPath.Util.Prelude
build-depends:
QuickCheck >=2.14 && <3,
base >=4.14 && <5,
hashable >=1.3 && <2,
text >=1.2 && <3,
test-suite tests
import: test
type: exitcode-stdio-1.0
hs-source-dirs: src/tests
main-is: Main.hs
build-depends:
algebraic-path,
hspec ^>=2.11.12,
quickcheck-classes ^>=0.6.5.0,
rerebase >=1.21 && <2,