> On Aug 11, 2018, at 11:27 AM, Vassil Ognyanov Keremidchiev <var...@gmail.com> 
> wrote:
> 
> What are the new features there toward Dependent Typed Haskell?

Ben's link to 
https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/8.6.1-notes.html
 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/8.6.1-notes.html>
 includes several items, pasted here:

* A new StarIsType 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-StarIsType>
 language extension has been added which controls whether * is parsed as 
Data.Kind.Type or a regular type operator. StarIsType 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-StarIsType>
 is enabled by default.

* CUSKs now require all kind variables to be explicitly quantified. This was 
already the case with TypeInType 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-TypeInType>,
 but now PolyKinds 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-PolyKinds>
 also exhibits this behavior.

* Functionality of TypeInType 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-TypeInType>
 has been subsumed by PolyKinds 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-PolyKinds>,
 and it is now merely a shorthand for PolyKinds 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-PolyKinds>,
 DataKinds 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-DataKinds>,
 and NoStarIsType 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-StarIsType>.
 The users are advised to avoid TypeInType 
<https://downloads.haskell.org/~ghc/8.6.1-beta1/docs/html/users_guide/glasgow_exts.html#extension-TypeInType>
 due to its misleading name: the Type :: Type axiom holds regardless of whether 
it is enabled.

These are small steps, to be sure, but there's quite a bit going on behind the 
scenes. For example see the "Coercion Quantification" and "Type-level visible 
type applications" to take place at HIW 
(https://icfp18.sigplan.org/track/hiw-2018-papers#event-overview 
<https://icfp18.sigplan.org/track/hiw-2018-papers#event-overview>).

There are also a great many proposals in play at 
https://github.com/ghc-proposals/ghc-proposals 
<https://github.com/ghc-proposals/ghc-proposals>

More to come in the future, of course!
Richard
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

Reply via email to