Re: Type-level error messages

On Oct 28, 2015, at 10:02 AM, "Augustsson, Lennart"
I've put in my answers to your questions.
And I've responded.

I have also written my thoughts on the questions posed by Richard on the
wiki page.
On Wed, Oct 28, 2015 at 7:07 AM, Richard Eisenberg
On Oct 28, 2015, at 10:02 AM, "Augustsson, Lennart" < Lennart.Augustsson@sc.com> wrote:
I've put in my answers to your questions.
And I've responded.

Hello,
I've updated the implementation to match the discussion from this morning.
The idea is that `TypeError msd` is a type-family that can never be
reduced, similar to `Any`. We don't do anything special in the constraint
solver, however when printing errors, if we encounter any constraints of
the form:
* TypeError msg
* TypeError msg ~ Something
* Something ~ TypeError msg
Then we evaluate `msg` and use it as the error message.
This is fairly simple, and appears to work quite well. The implementation
is on branch `wip/custom-type-errors` (
https://github.com/ghc/ghc/tree/wip/custom-type-errors).
== Arc Difficulties Below ===
I tried to update the Phabricator patch but failed. This is what I did:
1. arc diff master --update D1236 --head custom-type-errors
Exception
ERR-CONDUIT-CALL: API Method "differential.creatediff" does not define
these parameters: 'arcanistProject'.
(Run with `--trace` for a full exception trace.)
2. I thought that maybe I need to update `arcanist`, so I pulled the latest
version for git.
3. arc diff master --update D1236 --head custom-type-errors
Exception
Failed to load class or interface 'PhutilClassMapQuery': the class or
interface 'PhutilClassMapQuery' is not defined in the library map for any
loaded phutil library. If this symbol was recently added or moved, your
library map may be out of date. You can rebuild the map by running 'arc
liberate'. For more information, see:
http://www.phabricator.com/docs/phabricator/article/libphutil_Libraries_User...
(Run with `--trace` for a full exception trace.)
4. arc liberate
Exception
Failed to load class or interface 'PhutilClassMapQuery': the class or
interface 'PhutilClassMapQuery' is not defined in the library map for any
loaded phutil library. If this symbol was recently added or moved, your
library map may be out of date. You can rebuild the map by running 'arc
liberate'. For more information, see:
http://www.phabricator.com/docs/phabricator/article/libphutil_Libraries_User...
(Run with `--trace` for a full exception trace.)
Any advice on what I am doing wrong?
-Iavor
On Wed, Oct 28, 2015 at 10:17 AM, Iavor Diatchki
I have also written my thoughts on the questions posed by Richard on the wiki page.
On Wed, Oct 28, 2015 at 7:07 AM, Richard Eisenberg
wrote: On Oct 28, 2015, at 10:02 AM, "Augustsson, Lennart" < Lennart.Augustsson@sc.com> wrote:
I've put in my answers to your questions.
And I've responded.

When you pulled the latest version from git did you pull both arcanist and libphutil? I think I saw a similar error when I missed one. Also `arc upgrade` should do the right thing for you (in the future). ~adam On Thu, 29 Oct 2015, at 09:23 PM, Iavor Diatchki wrote:
Hello,
I've updated the implementation to match the discussion from this morning. The idea is that `TypeError msd` is a type-family that can never be reduced, similar to `Any`. We don't do anything special in the constraint solver, however when printing errors, if we encounter any constraints of the form: * TypeError msg * TypeError msg ~ Something * Something ~ TypeError msg
Then we evaluate `msg` and use it as the error message.
This is fairly simple, and appears to work quite well. The implementation is on branch `wip/custom-type-errors` (https://github.com/ghc/ghc/tree/wip/custom-type-errors).
== Arc Difficulties Below ===
I tried to update the Phabricator patch but failed. This is what I did:
1. arc diff master --update D1236 --head custom-type-errors
Exception ERR-CONDUIT-CALL: API Method "differential.creatediff" does not define these parameters: 'arcanistProject'. (Run with `--trace` for a full exception trace.)
2. I thought that maybe I need to update `arcanist`, so I pulled the latest version for git.
3.arc diff master --update D1236 --head custom-type-errors
Exception Failed to load class or interface 'PhutilClassMapQuery': the class or interface 'PhutilClassMapQuery' is not defined in the library map for any loaded phutil library. If this symbol was recently added or moved, your library map may be out of date. You can rebuild the map by running 'arc liberate'. For more information, see: http://www.phabricator.com/docs/phabricator/article/libphutil_Libraries_User... (Run with `--trace` for a full exception trace.)
4.arc liberate
Exception Failed to load class or interface 'PhutilClassMapQuery': the class or interface 'PhutilClassMapQuery' is not defined in the library map for any loaded phutil library. If this symbol was recently added or moved, your library map may be out of date. You can rebuild the map by running 'arc liberate'. For more information, see: http://www.phabricator.com/docs/phabricator/article/libphutil_Libraries_User... (Run with `--trace` for a full exception trace.)
Any advice on what I am doing wrong?
-Iavor
On Wed, Oct 28, 2015 at 10:17 AM, Iavor Diatchki
wrote: I have also written my thoughts on the questions posed by Richard on the wiki page.
On Wed, Oct 28, 2015 at 7:07 AM, Richard Eisenberg
wrote: On Oct 28, 2015, at 10:02 AM, "Augustsson, Lennart"
wrote: I've put in my answers to your questions.
And I've responded.
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
participants (3)
-
Adam Sandberg Eriksson
-
Iavor Diatchki
-
Richard Eisenberg