focus-1.0.3.2: focus.cabal
cabal-version: 3.0
name: focus
version: 1.0.3.2
synopsis:
A general abstraction for manipulating elements of container data structures
description:
An API for construction of free-form strategies of access and manipulation of
elements of arbitrary data structures.
It allows to implement efficient composite patterns, e.g.,
a simultaneous update and lookup of an element,
and even more complex things.
Strategies are meant to be interpreted by the host data structure libraries.
Thus they allow to implement all access and modification patterns of
a data structure with just a single function,
which interprets strategies.
This library provides pure and monadic interfaces,
so it supports both immutable and mutable data structures.
category: Containers, Data
homepage: https://github.com/nikita-volkov/focus
bug-reports: https://github.com/nikita-volkov/focus/issues
author: Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
copyright: (c) 2014, Nikita Volkov
license: MIT
license-file: LICENSE
source-repository head
type: git
location: git://github.com/nikita-volkov/focus.git
common language-settings
default-extensions:
NoImplicitPrelude
NoMonomorphismRestriction
ApplicativeDo
BangPatterns
BinaryLiterals
BlockArguments
ConstraintKinds
DataKinds
DefaultSignatures
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingVia
DuplicateRecordFields
EmptyDataDecls
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
HexFloatLiterals
LambdaCase
LiberalTypeSynonyms
MultiParamTypeClasses
MultiWayIf
NumericUnderscores
OverloadedLabels
OverloadedStrings
ParallelListComp
PatternGuards
PatternSynonyms
QuasiQuotes
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
StrictData
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
ViewPatterns
default-language: Haskell2010
library
import: language-settings
hs-source-dirs: library
exposed-modules: Focus
other-modules: Focus.Prelude
build-depends:
, base >=4.11 && <5
, transformers >=0.5 && <0.7
test-suite test
import: language-settings
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
build-depends:
, focus
, rerebase <2
, tasty >=0.12 && <2
, tasty-hunit >=0.9 && <0.11