To build and test with all supported compiler versions:
nix build .#testConfigurations.all --no-link
The ASCII character set and encoding
Home Page: https://hackage.haskell.org/package/ascii
To build and test with all supported compiler versions:
nix build .#testConfigurations.all --no-link
For all the monomorphic conversion functions that are just specializations of a polymorphic function, the haddock comment should include a link to the polymorphic version.
@frasertweedale (snoyberg/ascii#6 (comment))
I note you re-export
Data.ASCII
presumably for backwards compat, having moved the old ascii package to data-ascii. But data-ascii is still marked as deprecated, so what is the intention going forward with these modules?
I've gone ahead and released versions that support base 4.15 (GHC 9.0), but CI is currently failing because dependencies hashable 1.3 and bytestring-0.11 do not yet support it. When they do, we should re-run CI to make sure it actually builds, and unmark GHC 9.0.1 as a continue-on-error
build.
This function is about 8x faster than a call to Data.ByteString.all (< 128)
, because instead of checking one Word8
at a time, it can check eight Word8
s at a time, using a cool bit twiddling optimisation. There is a test suite and benchmark suite to confirm that it both works and is that fast.
Previously brought up by @frasertweedale here, where the request was to add a FoldCase
instance (I presume from the case-insensitive package).
I'm inclined to discourage use of the CI
type; it bothers me a lot that CI
has a field that ==
doesn't consider in its equality test, I think it's an abuse of Eq
. As the docs say:
(==)
is customarily expected to implement an equivalence relationship where two values comparing equal are indistinguishable by "public" functions
And I think that going against this expectation can lead us to unhappy places.
I was considering adding another package called ascii-subset
, whose purpose would be to provide types like "case-insensitive character". (I can think of a handful of ways to write this: to define a new type for each ASCII subset we care to consider, to define a 128-constructor GADT with some phantom type parameters that allow you to narrow the type, or to define various smaller types like ControlCharacter
, Digit
, CapitalLetter
, SmallLetter
etc. and then build up various ASCII subsets out of those. But, setting aside these details for the moment...) What do you think, would having "case-insensitive char" and "case-insensitive string" types be helpful, or is there a particular need for the CI
approach that preserves the original case?
https://hackage.haskell.org/package/ascii/docs/ASCII.html#t:Lift
Some Lift instances have a comment, it would be nice if they all did.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.