cabal-version: 1.12 -- This file has been generated from package.yaml by hpack version 0.36.0. -- -- see: https://github.com/sol/hpack name: oalg-base version: 1.1.4.0 synopsis: Algebraic structures on oriented entities and limits as a tool kit to solve algebraic problems. description: Basic definition of algebraic structures on oriented entities. . First of all we define __entities__ ("OAlg.Entity.Definition"). Based on them and since we look at algebra through the lens of categories, we define __oriented__ ("OAlg.Structure.Oriented.Definition") structures on which, by means of a suitable partially defined multiplication, __multiplicative__ ("OAlg.Structure.Multiplicative.Definition") structures are defined. If one provides such a multiplicative structure with a matching __additive__ ("OAlg.Structure.Additive.Definition") structure, one obtains __distributive__ ("OAlg.Structure.Distributive.Definition") structures on which __matrices__ ("OAlg.Entity.Matrix.Definition") are build. If an additive structure is provided with a matching scalar multiplication, __vectorial__ ("OAlg.Structure.Vectorial.Definition") structures are obtained, which then form - together with the distributive structures - the basis for __algebraic__ ("OAlg.Structure.Algebraic.Definition") structures . __Limits__ ("OAlg.Limes.Limits") - in context of categories - serve as a backbone for solving algebraic problems, e. g. finding all solutions of the equation @a * x == 0@ is given by the __kernel__ ("OAlg.Limes.KernelsAndCokernels") of @a@. . Particular attention is paid to the __duality__ ("OAlg.Data.Dualisable") of concepts - viewed through the lens of categories - so that the implementation of the dual concept could be traced back to the original one to avoid duplicate or redundant implementation efforts. . A central feature in this package is that all functions defined here - unless otherwise stated - are total and means /if the input values are __valid__ ("OAlg.Data.Validable") then the resulting value is also valid/. Most functions do not check their preconditions. Therefore, all data structures defined here are provided with a property section that is translated into a corresponding __statement__ ("OAlg.Data.Statement.Definition") so that they can be __validated__ ("OAlg.Control.Validate") as needed. If there is an exception to this rule - such as for partially defined algebraic operators - the rule is extended by /if the input values are valid and fulfill the additional required properties, then the resulting value is also valid/. Most of the algebraic operators do check there additional required preconditions. . Since the algebraic operators - such as @(*)@, @(+)@, @(.)@... - have been redefined here, one should exclude the standard Prelude when using this package, to avoid ambiguity, and use the __Prelude__ ("OAlg.Prelude") provided here. . Throughout the descripitions in this package we denote type variables in __bold__ lower case letters to distinguishing them from variables for values of a type. . Since we take the view that a value of a data structure or an instance of a class must strictly fulfill the required properties to be valid, Double, for example, has not been implemented as a numerical type. . Please see also the README on GitHub at category: Mathematics, Algebra, Category homepage: https://github.com/zErichGut/oalg-main#readme bug-reports: https://github.com/zErichGut/oalg-main/issues author: Erich.Gut maintainer: zerich.gut@gmail.com copyright: Erich Gut license: BSD3 license-file: LICENSE build-type: Simple extra-source-files: README.md CHANGELOG.md source-repository head type: git location: https://github.com/zErichGut/oalg-main subdir: oalg-base library exposed-modules: OAlg.Adjunction OAlg.Adjunction.Definition OAlg.Adjunction.Limes OAlg.Category.Applicative OAlg.Category.Definition OAlg.Category.Path OAlg.Category.Proposition OAlg.Category.Unify OAlg.Control.Action OAlg.Control.Exception OAlg.Control.HNFData OAlg.Control.Solver OAlg.Control.Validate OAlg.Control.Verbose OAlg.Data.Boolean OAlg.Data.Boolean.Definition OAlg.Data.Boolean.Proposition OAlg.Data.Canonical OAlg.Data.Constructable OAlg.Data.Dualisable OAlg.Data.Either OAlg.Data.Equal OAlg.Data.Generator OAlg.Data.Identity OAlg.Data.Maybe OAlg.Data.Number OAlg.Data.Opposite OAlg.Data.Ord OAlg.Data.Reducible OAlg.Data.Show OAlg.Data.Singleton OAlg.Data.Singular OAlg.Data.Statement OAlg.Data.Statement.Definition OAlg.Data.Statement.Proposition OAlg.Data.Statistics OAlg.Data.Symbol OAlg.Data.Tree OAlg.Data.TypeLits OAlg.Data.Validable OAlg.Data.X OAlg.Entity.Definition OAlg.Entity.Diagram OAlg.Entity.Diagram.Definition OAlg.Entity.Diagram.Proposition OAlg.Entity.Diagram.Quiver OAlg.Entity.Diagram.Transformation OAlg.Entity.FinList OAlg.Entity.Matrix OAlg.Entity.Matrix.Definition OAlg.Entity.Matrix.Dim OAlg.Entity.Matrix.Entries OAlg.Entity.Matrix.GeneralLinearGroup OAlg.Entity.Matrix.ProductsAndSums OAlg.Entity.Matrix.Proposition OAlg.Entity.Matrix.Transformation OAlg.Entity.Matrix.Vector OAlg.Entity.Natural OAlg.Entity.Product OAlg.Entity.Product.Definition OAlg.Entity.Product.ProductSymbol OAlg.Entity.Product.Proposition OAlg.Entity.Sequence OAlg.Entity.Sequence.CSequence OAlg.Entity.Sequence.Definition OAlg.Entity.Sequence.Graph OAlg.Entity.Sequence.Permutation OAlg.Entity.Sequence.PSequence OAlg.Entity.Sequence.Set OAlg.Entity.Slice OAlg.Entity.Slice.Adjunction OAlg.Entity.Slice.Definition OAlg.Entity.Slice.Free OAlg.Entity.Sum OAlg.Entity.Sum.Definition OAlg.Entity.Sum.SumSymbol OAlg.Hom OAlg.Hom.Additive OAlg.Hom.Algebraic OAlg.Hom.Definition OAlg.Hom.Distributive OAlg.Hom.Fibred OAlg.Hom.Multiplicative OAlg.Hom.Multiplicative.Definition OAlg.Hom.Multiplicative.Proposition OAlg.Hom.Oriented OAlg.Hom.Oriented.Definition OAlg.Hom.Oriented.Proposition OAlg.Hom.Proposition OAlg.Hom.Vectorial OAlg.Limes.Cone OAlg.Limes.Cone.Definition OAlg.Limes.Cone.EligibleFactor OAlg.Limes.Definition OAlg.Limes.EqualizersAndCoequalizers OAlg.Limes.KernelsAndCokernels OAlg.Limes.Limits OAlg.Limes.MinimaAndMaxima OAlg.Limes.Perspective OAlg.Limes.ProductsAndSums OAlg.Limes.Proposition OAlg.Limes.PullbacksAndPushouts OAlg.Limes.TerminalAndInitialPoint OAlg.Prelude OAlg.Proposition OAlg.Structure.Additive OAlg.Structure.Additive.Definition OAlg.Structure.Additive.Proposition OAlg.Structure.Algebraic OAlg.Structure.Algebraic.Definition OAlg.Structure.Algebraic.Proposition OAlg.Structure.Definition OAlg.Structure.Distributive OAlg.Structure.Distributive.Definition OAlg.Structure.Distributive.Proposition OAlg.Structure.Exception OAlg.Structure.Exponential OAlg.Structure.Fibred OAlg.Structure.Fibred.Definition OAlg.Structure.Fibred.Proposition OAlg.Structure.Multiplicative OAlg.Structure.Multiplicative.Definition OAlg.Structure.Multiplicative.Proposition OAlg.Structure.Number OAlg.Structure.Number.Definition OAlg.Structure.Operational OAlg.Structure.Oriented OAlg.Structure.Oriented.Definition OAlg.Structure.Oriented.Proposition OAlg.Structure.Proposition OAlg.Structure.Ring OAlg.Structure.Ring.Definition OAlg.Structure.Vectorial OAlg.Structure.Vectorial.Definition OAlg.Structure.Vectorial.Proposition other-modules: Paths_oalg_base hs-source-dirs: src ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wno-unticked-promoted-constructors -Wno-name-shadowing -Wno-unused-top-binds -Wno-incomplete-uni-patterns -Wno-incomplete-patterns -Wno-identities build-depends: array >=0.5 && <1 , base >=4.16 && <5 , deepseq >=1.4 && <2 , random >=1.2 && <2 , time >=1.11 && <2 default-language: Haskell2010 test-suite oalg-base-test type: exitcode-stdio-1.0 main-is: Spec.hs other-modules: Paths_oalg_base hs-source-dirs: test ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wno-unticked-promoted-constructors -Wno-name-shadowing -Wno-unused-top-binds -Wno-incomplete-uni-patterns -Wno-incomplete-patterns -Wno-identities -threaded -rtsopts -with-rtsopts=-N build-depends: array >=0.5 && <1 , base >=4.16 && <5 , deepseq >=1.4 && <2 , oalg-base , random >=1.2 && <2 , time >=1.11 && <2 default-language: Haskell2010