Metadata revisions for cluss-0.1

Package maintainers and Hackage trustees are allowed to edit certain bits of package metadata after a release, without uploading a new tarball. Note that the tarball itself is never changed, just the metadata that is stored separately. For more information about metadata revisions, please refer to the Hackage Metadata Revisions FAQ.

No. Time User SHA256
-r4 (cluss-0.1-r4) 2014-10-05T12:05:45Z Kinokkory c60ed38d9c7fd593690792cbb3aa5ed62ac042e399c803bf1375af6cdfdc3403
  • Changed description from

    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of \"type patterns\" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its \"instances\".
    The constraint @In [Type T, ...] a@ is what we call a \"cluss\".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.
    The updated haddock is here: <http://hackage.haskell.org/package/cluss>.
    to
    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of \"type patterns\" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its \"instances\".
    The constraint @In [Type T, ...] a@ is what we call a \"cluss\".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.
    The updated haddock is here: <http://kinokkory.github.io/cluss/>.

-r3 (cluss-0.1-r3) 2014-10-05T12:04:29Z Kinokkory 0812e33825593b7585e11a4f171f66c22520c12b2e441bd97de2222039be8a81
  • Changed description from

    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of \"type patterns\" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its \"instances\".
    The constraint @In [Type T, ...] a@ is what we call a \"cluss\".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.
    to
    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of \"type patterns\" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its \"instances\".
    The constraint @In [Type T, ...] a@ is what we call a \"cluss\".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.
    The updated haddock is here: <http://hackage.haskell.org/package/cluss>.

-r2 (cluss-0.1-r2) 2014-10-04T15:35:33Z Kinokkory 488cb16e95ef35975a612d3be524224ad94a13086a3adecb1294cf0c2c9618f7
  • Changed description from

    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of \"type patterns\" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its "instances".
    The constraint @In [Type T, ...] a@ is what we call a \"cluss\".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.
    to
    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of \"type patterns\" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its \"instances\".
    The constraint @In [Type T, ...] a@ is what we call a \"cluss\".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.

-r1 (cluss-0.1-r1) 2014-10-04T04:39:40Z Kinokkory 98bdd7fba90f6865e8fedb513ca95a206a7aade233fb1cdb46d11c78db11e9cc
  • Changed synopsis from

    Simple Alternative to Type Classes
    to
    simple alternative to type classes

  • Changed description from

    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of "type patterns" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its "instances".
    The constraint @In [Type T, ...] a@ is what we call a "cluss".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.
    to
    A /cluss/ enables you to achieve /function overloading/, or ad-hoc polymorphism,
    without creating a new type class.
    
    In order to give ad-hoc polymorphism to a type variable @a@,
    you simply use @In@ with a list of \"type patterns\" like @In [Type T, ...] a@,
    which indicates that the type matches some of the patterns;
    which is analogous to a type class indicating that a type matches some of its "instances".
    The constraint @In [Type T, ...] a@ is what we call a \"cluss\".
    
    Cluss instances are /closed/ and cluss methods are /open/,
    unlike type classes, whose instances are open and whose methods are closed.
    
    Clusses can easily be used in a nested way,
    and can even be /recursive/, just like recursive type classes,
    and therefore clusses are expressive enough to imitate Haskell-98-style type classes.
    
    More information can be found in the Haddock or the comments in the source code.

-r0 (cluss-0.1-r0) 2014-10-03T14:01:20Z Kinokkory b8d7333f3ec457878559fff6367fdd013070c85df4f48d4fb95d86793d724fd8