1.3.0.1 (2023-06-26)
Raised language version to GHC2021.
1.3.0.0 (2023-02-28)
Removed the ASCII.Lift
module. The Lift
class is now gone. It was a mess. It
was not possible to define a comprehensive set of instances for this class, and
as a user it was difficult to guess what types lift
would work on.
All of the lift
implementations were just other functions anyway: fromChar
,
fromCharList
, ASCII.Refinement.lift
, etc. Use one of those other polymorphic
but slightly more specific functions instead.
1.2.7.0 (2023-02-08)
Add module ASCII.Superset.Text
1.2.6.0 (2023-02-07)
New module ASCII.SupersetConversion
containing a new class,
StringSupersetConversion
, and the following function:
convertRefinedString ::
StringSupersetConversion a b => ASCII a -> ASCII b
1.2.5.0 (2023-01-06)
New in ASCII.CaseRefinement
:
forgetCase :: ASCII'case letterCase superset -> ASCII superset
And a new corresponding Lift
instance:
instance Lift (ASCII'case letterCase superset) (ASCII superset)
1.2.4.0 (2023-01-05)
New classes:
class ToCasefulChar (letterCase :: Case) char where
toCasefulChar :: CaselessChar -> char
class ToCasefulString (letterCase :: Case) string where
toCasefulString :: [CaselessChar] -> string
1.2.3.0 (2023-01-05)
Add instance Lift a a
1.2.2.0 (2023-01-05)
ASCII'case
now has instances for:
ToCaselessChar
ToChar
ToCaselessString
ToString
1.2.1.0 (2023-01-05)
Add instance FromChar CaselessChar
1.2.0.0 (2023-01-03)
Add to the CharSuperset
class a new method:
toCaseChar :: Case -> char -> char
Add to the StringSuperset
class a new method:
toCaseString :: Case -> string -> string
Add to the ASCII.CaseRefinement
module:
refineCharToCase :: forall letterCase char.
KnownCase letterCase => CharSuperset char =>
ASCII char -> ASCII'case letterCase char
refineStringToCase :: forall letterCase char.
KnownCase letterCase => StringSuperset char =>
ASCII char -> ASCII'case letterCase char
1.1.1.0 (2023-01-03)
Add to ASCII.CaseRefinement
the KnownCase
class.
1.1.0.0 (2023-01-03)
Add classes ToChar
(isAsciiChar
, toCharUnsafe
) and FromChar
(fromChar
), of which CharSuperset
is now a subclass with no methods of its
own.
Add classes ToString
(isAsciiString
, toCharListUnsafe
, toCharListSub
)
and FromString
(fromCharList
), of which StringSuperset
is now a subclass
which still has some methods (substituteString
and mapCharsUnsafe
).
Add class ToCaselessChar
(isAsciiCaselessChar
, toCaselessCharUnsafe
),
which is a superclass of ToChar
. Also added related functions
toCaselessCharMaybe
, toCaselessCharOrFail
, and toCaselessCharSub
.
Add class ToCaselessString
(isAsciiCaselessString
,
toCaselessCharListUnsafe
, toCaselessCharListSub
) which is a superclass of
ToString
. Also added related functions toCaselessCharListMaybe
and
toCaselessCharListOrFail
.
1.0.2.0 (2023-01-02)
Add module ASCII.CaseRefinement
- This includes
ASCII'case
, a new refinement type for characters strings.
It asserts that any character which is a letter must be of a particular case.
Switch test suite from hedgehog
to hspec
1.0.1.15 (2022-01-02)
Minor Cabal correction (change extra-doc-files
to extra-source-files
)
1.0.1.14 (2022-12-30)
Metadata changes only
1.0.1.13 (2022-04-20)
Drop support for base
4.11 (GHC 8.4) and base
4.12 (GHC 8.6)
Modify documentation on the Lift
class. Previously it indicated that the class
was for converting ASCII into supersets of ASCII. The class’s purpose is now
restated as being a conversion from any character set to any other larger
character set. The purpose is to indicate that the ASCII subset types defined in
the ascii-numbers
package may reasonably have Lift
instances.
1.0.1.12 (2022-03-22)
Switch test-suite over to hedgehog
1.0.0.10 (2022-01-09)
Support GHC 9.2
1.0.1.8 (2021-11-13)
Support hashable-1.4
1.0.1.6 (2021-09-26)
Add a test suite
Raise text
lower bound to 1.2.3
1.0.1.4 (2021-02-10)
Support GHC 9.0
1.0.1.2 (2021-02-09)
Support bytestring-0.11
1.0.1.0 (2021-01-27)
New functions:
convertCharOrFail
convertStringMaybe
convertStringOrFail
convertCharMaybe
1.0.0.4 (2021-01-25)
Add some comments
1.0.0.2 (2020-05-18)
Support GHC 8.10
1.0.0.0 (2020-05-05)
Initial release