Cabal revisions of validated-literals-0.3.1
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Cabal-Version: 2.0-Name: validated-literals-Version: 0.3.1--Homepage: https://github.com/merijn/validated-literals-Bug-Reports: https://github.com/merijn/validated-literals/issues--Author: Merijn Verstraaten-Maintainer: Merijn Verstraaten <merijn@inconsistent.nl>-Copyright: Copyright © 2015-2021 Merijn Verstraaten--License: BSD3-License-File: LICENSE--Category: Data-Build-Type: Simple-Tested-With: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5,- GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.1--Synopsis: Compile-time checking for partial smart-constructors--Description:- To disallow invalid input it is common to define (new)types with hidden- data constructors. Forcing the user to go through a smart-constructor that- enforces invariants and returns @Maybe ResultType@, preventing the- construction of data with invalid values.- .- However, it is __also__ common to want to include literal values of such- types in source text. Things of textual literals for HTML, HTTP, etc.- In such cases smart-constructors force us to handle potential conversion- failures at runtime, or abusing functions like @fromJust@ to break away all- the safety smart-constructors provide. All this despite the fact that we- can statically know at compile time that the conversion will always succeed- or always fails.- .- This package provides a typeclasses for using TH to validate the- correctness of provided literals at compile. This lets you define, e.g.,- @newtype Even = Even Integer@ and write:- .- @- x :: Even- x = $$(valid 38)- @- .- This will check, at compile time, that the provided @Integer@ is, in fact,- even and unwrap it from @Maybe@, avoiding the runtime check.--Extra-Source-Files: README.md, CHANGELOG.md--Library- Default-Language: Haskell2010- GHC-Options: -Wall-- Other-Extensions: DefaultSignatures, FlexibleContexts,- MultiParamTypeClasses, ScopedTypeVariables,- TemplateHaskell-- Exposed-Modules: ValidLiterals-- Build-Depends: base >= 4.9 && < 4.17- , template-haskell >= 2.11 && < 2.19- , th-compat ^>= 0.1.3--Test-Suite examples- Default-Language: Haskell2010- Type: exitcode-stdio-1.0- Main-Is: Examples.hs- Other-Modules: ByteString- Even-- GHC-Options: -Wall -fno-warn-unused-do-bind- Other-Extensions: CPP, DeriveGeneric, DeriveLift, FlexibleInstances,- MultiParamTypeClasses, TemplateHaskell- Hs-Source-Dirs: examples- Build-Depends: base- , bytestring >= 0.10 && < 0.12- , deepseq == 1.4.*- , tasty >= 0.11 && < 1.5- , tasty-hunit >= 0.9 && < 0.11- , tasty-travis >= 0.2 && < 0.3- , template-haskell- , th-compat- , validated-literals--Source-Repository head- Type: git+Cabal-Version: 2.0 +Name: validated-literals +Version: 0.3.1 +X-Revision: 1 + +Homepage: https://github.com/merijn/validated-literals +Bug-Reports: https://github.com/merijn/validated-literals/issues + +Author: Merijn Verstraaten +Maintainer: Merijn Verstraaten <merijn@inconsistent.nl> +Copyright: Copyright © 2015-2021 Merijn Verstraaten + +License: BSD3 +License-File: LICENSE + +Category: Data +Build-Type: Simple +Tested-With: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, + GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.2, + GHC == 9.4.1 + +Synopsis: Compile-time checking for partial smart-constructors + +Description: + To disallow invalid input it is common to define (new)types with hidden + data constructors. Forcing the user to go through a smart-constructor that + enforces invariants and returns @Maybe ResultType@, preventing the + construction of data with invalid values. + . + However, it is __also__ common to want to include literal values of such + types in source text. Things of textual literals for HTML, HTTP, etc. + In such cases smart-constructors force us to handle potential conversion + failures at runtime, or abusing functions like @fromJust@ to break away all + the safety smart-constructors provide. All this despite the fact that we + can statically know at compile time that the conversion will always succeed + or always fails. + . + This package provides a typeclasses for using TH to validate the + correctness of provided literals at compile. This lets you define, e.g., + @newtype Even = Even Integer@ and write: + . + @ + x :: Even + x = $$(valid 38) + @ + . + This will check, at compile time, that the provided @Integer@ is, in fact, + even and unwrap it from @Maybe@, avoiding the runtime check. + +Extra-Source-Files: README.md, CHANGELOG.md + +Library + Default-Language: Haskell2010 + GHC-Options: -Wall + + Other-Extensions: DefaultSignatures, FlexibleContexts, + MultiParamTypeClasses, ScopedTypeVariables, + TemplateHaskell + + Exposed-Modules: ValidLiterals + + Build-Depends: base >= 4.9 && < 4.18 + , template-haskell >= 2.11 && < 2.20 + , th-compat ^>= 0.1.3 + +Test-Suite examples + Default-Language: Haskell2010 + Type: exitcode-stdio-1.0 + Main-Is: Examples.hs + Other-Modules: ByteString + Even + + GHC-Options: -Wall -fno-warn-unused-do-bind + Other-Extensions: CPP, DeriveGeneric, DeriveLift, FlexibleInstances, + MultiParamTypeClasses, TemplateHaskell + Hs-Source-Dirs: examples + Build-Depends: base + , bytestring >= 0.10 && < 0.12 + , deepseq == 1.4.* + , tasty >= 0.11 && < 1.5 + , tasty-hunit >= 0.9 && < 0.11 + , tasty-travis >= 0.2 && < 0.3 + , template-haskell + , th-compat + , validated-literals + +Source-Repository head + Type: git Location: git+ssh://github.com:merijn/validated-literals
revision 2
Cabal-Version: 2.0 Name: validated-literals Version: 0.3.1 -X-Revision: 1 +X-Revision: 2 Homepage: https://github.com/merijn/validated-literals Bug-Reports: https://github.com/merijn/validated-literals/issues Category: Data Build-Type: Simple Tested-With: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, - GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.2, - GHC == 9.4.1 + GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.7, + GHC == 9.4.4, GHC == 9.6.1 Synopsis: Compile-time checking for partial smart-constructors Exposed-Modules: ValidLiterals - Build-Depends: base >= 4.9 && < 4.18 - , template-haskell >= 2.11 && < 2.20 + Build-Depends: base >= 4.9 && < 4.19 + , template-haskell >= 2.11 && < 2.21 , th-compat ^>= 0.1.3 Test-Suite examples
revision 3
Cabal-Version: 2.0 Name: validated-literals Version: 0.3.1 -X-Revision: 2 +X-Revision: 3 Homepage: https://github.com/merijn/validated-literals Bug-Reports: https://github.com/merijn/validated-literals/issues Build-Type: Simple Tested-With: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.7, - GHC == 9.4.4, GHC == 9.6.1 + GHC == 9.4.4, GHC == 9.6.2 Synopsis: Compile-time checking for partial smart-constructors MultiParamTypeClasses, TemplateHaskell Hs-Source-Dirs: examples Build-Depends: base - , bytestring >= 0.10 && < 0.12 + , bytestring >= 0.10 && < 0.13 , deepseq == 1.4.* , tasty >= 0.11 && < 1.5 , tasty-hunit >= 0.9 && < 0.11