Permalink
Commits on Dec 12, 2010
  1. Bump minor

    nonowarn committed Dec 12, 2010
  2. Merge branch '0.5-dev'

    nonowarn committed Dec 12, 2010
  3. Bump Version

    nonowarn committed Dec 12, 2010
  4. Add LanguageExtention for test program because I don't know how to de…

    nonowarn committed Dec 12, 2010
    …clare LanguageExtention globally in cabal files
Commits on Nov 16, 2010
  1. Fixed to work on GHC7

    Chris Done committed Nov 16, 2010
Commits on Oct 9, 2010
  1. Added deriving Data/Typeable

    Chris Done committed Oct 9, 2010
Commits on May 5, 2010
  1. Tweak

    nonowarn committed May 5, 2010
  2. README to point the tutorial

    nonowarn committed May 5, 2010
  3. Update documentation

    nonowarn committed May 5, 2010
    ... nonowarn must have do this before release
Commits on May 4, 2010
  1. Bump minor

    nonowarn committed May 4, 2010
  2. Use proper LANGUAGE pragma

    nonowarn committed May 4, 2010
  3. Bump

    nonowarn committed May 4, 2010
  4. Rename Rows with Fields

    nonowarn committed May 4, 2010
  5. Bump version

    nonowarn committed May 4, 2010
  6. Tweak documentation

    nonowarn committed May 4, 2010
  7. Update description

    nonowarn committed May 4, 2010
  8. Warning free

    nonowarn committed May 4, 2010
  9. Tweak Time example

    nonowarn committed May 4, 2010
  10. Add Point example

    nonowarn committed May 4, 2010
Commits on May 3, 2010
  1. Update README

    nonowarn committed May 3, 2010
  2. Add Time example

    nonowarn committed May 3, 2010
  3. Documentation

    nonowarn committed May 3, 2010
  4. Update Tests

    nonowarn committed May 3, 2010
    But if we have (^.) :: (Has lab s) => lab -> s -> TypeOf lab,
    we got weird type error in the following code.
    
    data X = X; data Y = Y; data Z = Z;
    type instance TypeOf X = String
    type instance TypeOf Y = String
    type instance TypeOf Z = String
    
    type C = RowOf X :&: RowOf Y :&: RowOf Z
    mkC :: String -> String -> String -> C
    mkC x y z = X .> x & Y .> y & Z .> z
    
    getter :: (Has X a) => a -> String
    getter = (X ^.)
    
    f = getter (mkC "a" "b" "c") -- Type Error!
    
    So we give constrait (^.) :: (Knows lab (TypeOf lab) s) => lab -> s -> TypeOf lab,
    Passes type checker. But If we give type signiture for the f, we get
    weird type error (both f :: String and f :: TypeOf X).
  5. New API

    nonowarn committed May 3, 2010
    Has is Knows with constaint.
    Knows is Contains with constraint.
    Contains offers Type indexing.