ascii 1.2.5.0 → 1.3.0.0
raw patch · 4 files changed
+46/−16 lines, 4 filesdep ~ascii-supersetdep ~ascii-thPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ascii-superset, ascii-th
API changes (from Hackage documentation)
- ASCII: class CharSuperset char
+ ASCII: class (ToChar char, FromChar char) => CharSuperset char
- ASCII: class StringSuperset string
+ ASCII: class (ToString string, FromString string) => StringSuperset string
Files
- ascii.cabal +5/−4
- changelog.md +15/−1
- library/ASCII.hs +24/−8
- readme.md +2/−3
ascii.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0 name: ascii-version: 1.2.5.0+version: 1.3.0.0 synopsis: The ASCII character set and encoding category: Data, Text @@ -71,12 +71,13 @@ , ASCII.Lists , ASCII.ListsAndPredicates - build-depends: ascii-superset == 1.0.1.*+ build-depends: ascii-superset == 1.1.0.* reexported-modules:- ASCII.Superset+ ASCII.CaseRefinement , ASCII.Isomorphism- , ASCII.Refinement , ASCII.Lift+ , ASCII.Refinement+ , ASCII.Superset build-depends: ascii-th == 1.0.0.* reexported-modules:
changelog.md view
@@ -1,4 +1,18 @@-### 1.2.5.0 (2022-01-02)+### 1.3.0.0 (2023-01-03)++Update `ascii-superset` to `1.1.0`.++This adds several classes to the `ASCII.Superset` module: `ToChar`, `FromChar`,+`ToString`, `FromString`, `ToCaselessChar`, and `ToCaselessString`.++This is a breaking change because these are superclasses of the existing+`CharSuperset` and `StringSuperset` classes, and they take methods from them.++### 1.2.6.0 (2023-01-02)++Update `ascii-superset` to `1.0.2`. This adds the `ASCII.CaseRefinement` module.++### 1.2.5.0 (2023-01-02) Add the `ASCII.Caseless` module (re-exported from the `ascii-caseless` package)
library/ASCII.hs view
@@ -1,15 +1,31 @@-{- |--The __American Standard Code for Information Interchange__ (ASCII) comprises a set of 128 characters, each represented by 7 bits. 33 of these characters are /'Control' codes/; a few of these are still in use, but most are obsolete relics of the early days of computing. The other 95 are /'Printable' characters/ such as letters and numbers, mostly corresponding to the keys on an American English keyboard.--Nowadays instead of ASCII we typically work with text using an encoding such as UTF-8 that can represent the entire Unicode character set, which includes over a hundred thousand characters and is not limited to the symbols of any particular writing system or culture. However, ASCII is still relevant to network protocols; for example, we can see it in the specification of [HTTP message headers](https://tools.ietf.org/html/rfc7230#section-1.2).+{-| The __American Standard Code for Information Interchange__ (ASCII) comprises+a set of 128 characters, each represented by 7 bits. 33 of these characters are+/'Control' codes/; a few of these are still in use, but most are obsolete relics+of the early days of computing. The other 95 are /'Printable' characters/ such+as letters and numbers, mostly corresponding to the keys on an American English+keyboard. -There is a convenient relationship between ASCII and Unicode: the ASCII characters are the first 128 characters of the much larger Unicode character set. The [C0 Controls and Basic Latin](https://www.unicode.org/charts/PDF/U0000.pdf) section of the Unicode standard contains a list of all the ASCII characters. You may also find this list replicated in the "ASCII.Char" module; each ASCII character corresponds to a constructor of the 'ASCII.Char' type.+Nowadays instead of ASCII we typically work with text using an encoding such as+UTF-8 that can represent the entire Unicode character set, which includes over a+hundred thousand characters and is not limited to the symbols of any particular+writing system or culture. However, ASCII is still relevant to network+protocols; for example, we can see it in the specification of+<https://www.rfc-editor.org/rfc/rfc9110.html#name-syntax-notation HTTP>. -We do not elaborate on the semantics of the control characters here, because this information is both obsolete and restricted by copyright law. It is described by a document entitled /"Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)"/, published by American National Standards Institute (ANSI) and available for purchase [on their website](https://webstore.ansi.org/Standards/INCITS/INCITS1986R2012).+There is a convenient relationship between ASCII and Unicode: the ASCII+characters are the first 128 characters of the much larger Unicode character set.+The <https://www.unicode.org/charts/PDF/U0000.pdf C0 Controls and Basic Latin>+section of the Unicode standard contains a list of all the ASCII characters.+You may also find this list replicated in the "ASCII.Char" module; each ASCII+character corresponds to a constructor of the 'ASCII.Char' type. +We do not elaborate on the semantics of the control characters here,+because this information is both obsolete and restricted by copyright law.+It is described by a document entitled+/"Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)"/,+published by American National Standards Institute (ANSI) and available for purchase+<https://webstore.ansi.org/Standards/INCITS/INCITS1986R2012 on their website>. -}- module ASCII ( {- * @Char@ -}
readme.md view
@@ -11,8 +11,7 @@ UTF-8 that can represent the entire Unicode character set, which includes over a hundred thousand characters and is not limited to the symbols of any particular writing system or culture. However, ASCII is still relevant to network-protocols; for example, we can see it in the specification of [HTTP message-headers][ietf].+protocols; for example, we can see it in the specification of [HTTP]. There is a convenient relationship between ASCII and Unicode: the ASCII characters are the first 128 characters of the much larger Unicode character@@ -54,7 +53,7 @@ the `StringSuperset` class, including `[ASCII.Char]`, [`String`][string], [`ByteString`][bytestring], and [`Text`][text]. - [ietf]: https://tools.ietf.org/html/rfc7230#section-1.2+ [HTTP]: https://www.rfc-editor.org/rfc/rfc9110.html#name-syntax-notation [unicode]: https://www.unicode.org/charts/PDF/U0000.pdf [ascii]: https://hackage.haskell.org/package/ascii/docs/ASCII.html [char]: https://hackage.haskell.org/package/ascii-char/docs/ASCII-Char.html