Giter Site home page Giter Site logo

ascii's Introduction

To build and test with all supported compiler versions:

nix build .#testConfigurations.all --no-link

ascii's People

Contributors

chris-martin avatar depressed-pho avatar eddiejessup avatar gwils avatar hvr avatar mvv avatar snoyberg avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ascii's Issues

GHC 9.0 support

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.

Support case-insensitive comparisons

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.