[GHC] #14078: -ddump-json doesn't work well with GHCi

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
           Reporter:  dramforever    |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  GHCi           |           Version:  8.2.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Currently, `:set -ddump-json` in `GHCi` causes all errors to be gathered
 to be written out on exit. `ghci -ddump-json` is even worse, only
 resulting in a `[]` being output on exit.

 However, I believe this completely defeats the purpose of this flag in
 GHCi. I expect `ghci -ddump-json` to work like this: for _each_ evaluation
 typed at the GHCi prompt, one JSON array is output for all messages this
 evaluation caused.

 This proposed behavior is consistent with other flags like `-ddump-simpl`,
 and will allow tooling to interact with GHCi nicely.

 Reporting this as a bug because this looks half-supported rather than
 unsupported, and also because of the different behaviors of `ghci -ddump-
 json` and `:set -ddump-json`. Sorry if it was not warranted.

 == Steps to reproduce

 `cmd>` is the shell prompt.

 {{{#!hs

 cmd> ghc --version
 The Glorious Glasgow Haskell Compilation System, version 8.2.1

 cmd> type tmp.hs
 main = print 2 + 2

 cmd> ghci -ddump-json tmp.hs
 GHCi, version 8.2.1: http://www.haskell.org/ghc/  :? for help
 [1 of 1] Compiling Main             ( tmp.hs, interpreted )

 tmp.hs:1:8: error:
     ? No instance for (Num (IO ())) arising from a use of ‘+’
     ? In the expression: print 2 + 2
       In an equation for ‘main’: main = print 2 + 2
   |
 1 | main = print 2 + 2
   |        ^^^^^^^^^^^
 Failed, 0 modules loaded.
 Prelude> :q
 Leaving GHCi.
 []

 cmd> ghci
 GHCi, version 8.2.1: http://www.haskell.org/ghc/  :? for help
 Prelude> :set -ddump-json
 Prelude> :l tmp.hs
 [1 of 1] Compiling Main             ( tmp.hs, interpreted )

 tmp.hs:1:8: error:
     ? No instance for (Num (IO ())) arising from a use of ‘+’
     ? In the expression: print 2 + 2
       In an equation for ‘main’: main = print 2 + 2
   |
 1 | main = print 2 + 2
   |        ^^^^^^^^^^^
 Failed, 0 modules loaded.
 Prelude> :q
 Leaving GHCi.
 [
  {"span": {"file": "tmp.hs","startLine": 1,"startCol": 8,"endLine":
 1,"endCol": 19},"doc": "\u2022 No instance for (Num (IO ())) arising from
 a use of \u2018+\u2019\n\u2022 In the expression: print 2 + 2\n  In an
 equation for \u2018main\u2019: main = print 2 + 2","severity":
 "SevError","reason": null},

  {"span": null,"doc": "[1 of 1] Compiling Main             ( tmp.hs,
 interpreted )","severity": "SevOutput","reason": null}]
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
        Reporter:  dramforever       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  GHCi              |              Version:  8.2.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by dramforever):

 On an unrelated note, the output seems reversed...

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
        Reporter:  dramforever       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.2.2
       Component:  GHCi              |              Version:  8.2.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by bgamari):

 * cc: mpickering (added)
 * milestone:   => 8.2.2


Comment:

 Ccing mpickering who wrote this feature.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
        Reporter:  dramforever       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.2.2
       Component:  GHCi              |              Version:  8.2.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by mpickering):

 `-ddump-json` is a bit different to the other `-ddump` flags as the goal
 is to dump all the output (including the output of other -ddump flags) as
 machine readable JSON.

 The output of using `:set -ddump-json` looks more like I would have
 expected but I hadn't really considered the interaction with ghci.

 How do you think `-ddump-json` should work with the normal `ghc`
 executable?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
        Reporter:  dramforever       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.2.2
       Component:  GHCi              |              Version:  8.2.1
      Resolution:                    |             Keywords:  JSON
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by mpickering):

 * keywords:   => JSON


--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
        Reporter:  dramforever       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.4.1
       Component:  GHCi              |              Version:  8.2.1
      Resolution:                    |             Keywords:  JSON
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by bgamari):

 * milestone:  8.2.2 => 8.4.1


Comment:

 It seems there is some design work still needed here. Perhaps `-ddump-
 json` shouldn't be in the `-d` category if it behaves so differently from
 other dump flags?

 Bumping to 8.4.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
        Reporter:  dramforever       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.4.1
       Component:  GHCi              |              Version:  8.2.1
      Resolution:                    |             Keywords:  JSON
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by mpickering):

 I definitely want to fix this before 8.4. I think that make it work on a
 per module basis is the way to go.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14078: -ddump-json doesn't work well with GHCi

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14078: -ddump-json doesn't work well with GHCi
-------------------------------------+-------------------------------------
        Reporter:  dramforever       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.4.1
       Component:  GHCi              |              Version:  8.2.1
      Resolution:                    |             Keywords:  JSON
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 Okay, but be aware that 8.2.2 is quickly approaching and it's unclear
 whether we will have an 8.2.3.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14078#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
ghc-tickets mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-tickets