SingI has been dropped from GHC 7.8
Merge pull request #21 from alphaHeavy/ghc-7.8

SingI has been dropped from GHC 7.8
Don't bother with -XSafe

The parts that matter aren't compliant, so why bother.
Renamed `run` => `dist`
Add lens compatibility without depending on lens.

This native re-implementation of lens is really just a sensible way of
providing efficient record getters, setters, and modifiers. It just so
happens to interoperate with the lens package.
Remove the lens dependency from vinyl.

The only feature lost is the definition of rIso that defines an Iso'
from the lens package.

Replaced mtl dependency with transformers. The only piece we use is
Data.Functor.Identity, which should end up in base soon.
Merge pull request #23 from VinylRecords/lensfree

Remove the lens dependency from vinyl.
Give an upper bound to base dependency to make `cabal check` happy

This is what was preventing me from uploading 0.2 to Hackage apparently!
Correct repo URL in cabal file
Added the (<-:) record construction operator.

In response to Issue #24.

Note that this changes the fixity if (<+>) to make it more consistent
with (++) and to make it easier to fit (<-:) in with higher precedence.
Update .gitignore for sandbox
Remove dependency on Transformers

We were only using this for Data.Functor.Identity; in addition, we'd
been declaring an orphaned Show instance for that, which is gross.
Better just to define our own Identity. (Close #18)

Also, since Vinyl now ships with two of them, I've moved Validation and
Identity into Data.Vinyl.Idioms.*.
Fix Intro.lhs
Merge pull request #34 from VinylRecords/dependency-cleanup

Remove dependency on Transformers
Vinyl should be spine-strict

Reminder that you can recover laziness by changing the applicative
modality to a suitably lazy version of the identity functor.
Add lazy Identity idiom and LazyPlainRec type synonym

Look ma, we didn't have to duplicate the entire Vinyl source just to get
laziness and strictness where we wanted it.
Derive Foldable, Traversable for Identity and LazyIdentity

Per discussion on #34 (@acowley)
Bumped major version.

Though they look and act the same, the PlainRec type is different from
what it previously was.
Update benchmark and doctests build targets.
First pass at new singletons-based Vinyl architecture

I have removed the (sy ::: t) thing in favor of a singleton-based
approach, along with a Tarski-style universe encoding. So Vinyl records
are (implicitly) parameterized by a universe of keys; for each universe
of keys, you must provide instances of the El type family to show how
they get interpreted into Hask. I shall be providing some Template
Haskell to make this easier.

This greatly simplifies all the types in Vinyl. I realize that this
change is pretty jarring and may seem to scuttle certain existing
use-cases, but I believe it is for the best.

Moreover, I believe it was a mistake to allow signatures of the
following form:

    Rec [ "x" ::: Int, "x" ::: String ] f

In addition classes (Apply, Dist, etc.) have been removed and replaced
with simple functions where possible. The other option was to build up a
Category Theory class hierarchy which was sufficiently general to have
Vinyl's structure as a special case---but I decided against this since
it was very difficult, and served little purpose; the signatures are now
simpler and easier to understand.

A handy <<$>> operator has been given, which does just what it looks
like.

Closes #13, #25, #29, #36, #19.