Skip to content
  • trevor's avatar
    Squashed commit of the following: · 86bf4164
    trevor authored
    commit 6549c3e569d0e0c3714814860201924432da2435
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Sun Sep 8 16:43:42 2013 -0700
    
        Document `data kind` syntax
    
    commit 81c6d7b884e819cf0b0569cef23b67bb5aff8944
    Merge: 6c3f34c c798a8c6
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Sun Sep 8 11:40:47 2013 -0700
    
        Merge remote-tracking branch 'head/master' into data-kind-syntax-v2
    
    commit 6c3f34c80bd8b17920a956e194ec29d1affbd776
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Wed Aug 28 02:21:07 2013 -0400
    
        Merge with the roles changes
    
          There a bunch of spots where the roles haven't been properly integrated with,
        so this patch should get some review.
    
    commit 6bb530f50f655e74fb4e337311699eee46b519b7
    Merge: 7d27880 4b5238a4
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Tue Aug 27 02:35:55 2013 -0400
    
        Merge remote-tracking branch 'head/master' into data-kind-syntax-v2
    
        Conflicts:
        	compiler/basicTypes/DataCon.lhs
        	compiler/iface/IfaceSyn.lhs
        	compiler/main/PprTyThing.hs
        	compiler/parser/Lexer.x
        	compiler/parser/Parser.y.pp
        	compiler/typecheck/TcInstDcls.lhs
        	compiler/typecheck/TcTyClsDecls.lhs
        	compiler/typecheck/TcTyDecls.lhs
        	compiler/types/TyCon.lhs
    
    commit 7d2788021dab549ffd888deb9f28c8e7eab0d4ba
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Mon Jul 29 09:05:38 2013 -0700
    
        Migrate through some lost instances
    
    commit 13e1f41ec9252fd9d547d8e4b9fb04ffaf43c105
    Merge: e051060 9e185cc0
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Sun Jul 28 14:28:05 2013 -0400
    
        Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2
    
        Moved Binary instances for data-kind related types to IfaceSyn
    
    commit e051060bbef4d359f2b1caa1c6135b23df17ffe7
    Merge: 08d7c2f 2f99cdb9
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Wed Jul 17 01:58:16 2013 -0400
    
        Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2
    
    commit 08d7c2fca10a8c89b6fd638536a28972753ae360
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Mon Jul 1 21:56:48 2013 -0400
    
        Fix some bugs from the merge with master
    
         * Figure out what the right choice for the kind checking strategy of kind decls
           should be
    
    commit 12f055d23a1b5c0a74d2db0784b779b605f3888f
    Merge: f0adbdc e56b9d59
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Mon Jul 1 21:12:47 2013 -0400
    
        Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2
    
        Conflicts:
        	compiler/typecheck/TcTyClsDecls.lhs
    
    commit f0adbdc29fefc54675f0960e3178f3b079058eea
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Sun Jun 23 15:53:06 2013 -0400
    
        Swap the names for PromotionFlavor and PromotionInfo
    
    commit e177270dc002f45286a9b644935ea339d8a6c8d3
    Merge: 16df4be 3660ef95
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Sat Jun 22 04:00:15 2013 -0400
    
        Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2
    
    commit 16df4beac24065d3075a65b26add543452d1f2b2
    Merge: b021b30 569b2652
    Author: Trevor Elliott <awesomelyawesome@gmail.com>
    Date:   Sat Jun 22 02:41:14 2013 -0400
    
        merge with master
    
    commit b021b30f66fdb66965f6c57fb0969317c9aeb9e3
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Thu Jun 20 19:39:20 2013 -0700
    
        Start reworking comments
    
    commit b765370181571c1922b508f8dd17648a090ac248
    Merge: d1ac794 e4fc6fd0
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Thu Jun 20 18:27:43 2013 -0700
    
        Merge branch 'master' into data-kind-syntax-v2
    
    commit d1ac794b5bd06ae04e014cabe4560628b70fcdeb
    Merge: 9ad0a3c 73991d61
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Thu Jun 20 18:16:15 2013 -0700
    
        Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2
    
    commit 9ad0a3c57a5b77f5040f1201b2c53a84680c1af2
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Thu Jun 20 18:13:58 2013 -0700
    
        Don't add the promotion tick to data kind constructors
    
    commit 8c37784e31702ecf7d91f2d7cf7dfab675a56927
    Merge: 4dff379 db9b6310
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Mon Jun 17 10:55:51 2013 -0700
    
        Merge remote-tracking branch 'origin/master' into data-kind-syntax-v2
    
        Conflicts:
        	compiler/main/PprTyThing.hs
        	compiler/rename/RnTypes.lhs
        	compiler/types/TyCon.lhs
    
    commit 4dff3791ac9d1175d26f8c3b44923aefbe6c3f40
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Mon Jun 3 20:45:00 2013 -0700
    
        When parsing interfaces, use forkM while checking type constructors
    
    commit 7903009475b3e89aecc0a8e5d328ea84ea53a39d
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Mon Jun 3 20:06:40 2013 -0700
    
        When parsing data kind declarations, don't change the constructor namespace
    
    commit 78ff545601cedba106eda05a38ce8f24f8480961
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Mon May 27 18:45:52 2013 -0700
    
        Switch from Maybe TyCon to a richer type for promotion
    
          The new type distinguishes the two cases where promotion isn't possible:
        1) Promotion isn't possible, as it's disabled by a 'data type' declaration
        2) Promotion isn't possible because we don't know how to promote it
    
    commit 0573fd3e8f9822171ddeb0df937e10075b653678
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Mon May 27 17:36:21 2013 -0700
    
        Remove an old TODO
    
    commit e218d5d6848109e9dea129250199115a9db6b1d9
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Mon May 27 17:36:15 2013 -0700
    
        Properly print data kind declarations in ghci
    
    commit 22b011d43f84cb0478eded613344e1dd165664e5
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Thu May 16 18:38:22 2013 -0700
    
        Switch to using the PromotedDataCon for the RHS of a data kind
    
          Something is still wrong here: doing :browse will get a panic for some
        reason.
    
    commit 12db8c704765d2775b0299c2e718d015577a6f18
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Sat May 4 19:06:43 2013 -0700
    
        Thread data kind syntax through the interface
    
          Things are not quite right at the moment.  The issue is that we can't
        distinguish abstract types from types that are constructors in a data kind.
        As such, we should introduce a new constructor to TyCon to help
        disambiguate these two cases.  Also it might be nice to add a new TyCon
        for kinds, which would avoid the need for a new RHS in the AlgTyCon case.
    
    commit 73f19612444e2a3b1534ab41f02449c9a5191ccb
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Tue Apr 30 20:30:21 2013 -0700
    
        Handle kind declarations separately
    
    commit 8d3bf040748026829382c5d13421f910b3f9fcf9
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 20:40:49 2013 -0700
    
        Partial type-kind checking of `data kind` declarations
    
    commit 2399eb788ed0fe571c22de4f810080a323ddaceb
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 18:01:28 2013 -0700
    
        Support empty `data kind` declarations
    
    commit 61a28f2df42b34742219a97a22c029f840fef7f5
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 17:34:31 2013 -0700
    
        Rename `data kind` declarations
    
    commit 5d3485a3e3ab7a78f1055b872f78203d5d005b76
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 16:53:26 2013 -0700
    
        Fix a typo in a parser comment
    
    commit 7f631cf41a3ca84cd820b292711014b4e806a440
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 16:53:00 2013 -0700
    
        Add paring for `data kind` declarations
    
    commit d29733901b2cd195989cdc972ac74c1ed4f19670
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 14:31:30 2013 -0700
    
        Rename typeLiteralsBit to dataKindsBit in the lexer
    
    commit ca8ae194826fc47a2ba4f0188d62f5247b0fe631
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 14:27:50 2013 -0700
    
        Add a check for -XDataKinds when parsing a `data type` declaration
    
    commit 8588717e8ce224affa584bd1e27aa14e098f5a8f
    Author: Trevor Elliott <trevor@galois.com>
    Date:   Fri Apr 26 14:18:41 2013 -0700
    
        Implement the 'data type' syntax and checking
    
          Add a new form of data declaration where the 'type' modifier can be used
        to prevent data promotion.  For example
    
          data type T = K
    
        will not yield a promoted kind T, and promoted type K, even though they are
        in principle promotable.
    86bf4164