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 maintainer: Nikita Volkov 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