See <a href="http://hackage.haskell.org/trac/ghc/wiki/GhcKinds/KindsWithoutData">http://hackage.haskell.org/trac/ghc/wiki/GhcKinds/KindsWithoutData</a><br><br><br>Cheers,<br>Pedro<br><br><div class="gmail_quote">On Fri, Jan 25, 2013 at 3:19 PM, Ross Paterson <span dir="ltr">&lt;<a href="mailto:ross@soi.city.ac.uk" target="_blank">ross@soi.city.ac.uk</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">GHC implements data kinds by promoting data declarations of a certain<br>
restricted form, but I wonder if it would be better to have a special<br>
syntax for kind definitions, say<br>
<br>
  data kind Nat = Zero | Succ Nat<br>
<br>
At the moment, things get promoted whether you need them or not, and<br>
if you&#39;ve made some mistake that makes your definition non-promotable<br>
you don&#39;t find out until you try to use it.<br>
<br>
More importantly, a separate form for kinds would allow one to use<br>
existing kinds, i.e. *, in definitions of new kinds.<br>
<br>
_______________________________________________<br>
Glasgow-haskell-users mailing list<br>
<a href="mailto:Glasgow-haskell-users@haskell.org">Glasgow-haskell-users@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/glasgow-haskell-users" target="_blank">http://www.haskell.org/mailman/listinfo/glasgow-haskell-users</a><br>
</blockquote></div><br>