[GHC] #14391: Make the simplifier independent of the typechecker

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

[GHC] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
           Reporter:  nomeata        |             Owner:  (none)
               Type:  task           |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.3
           Keywords:  newcomer       |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I noticed that the simplifier module depends on all of the type checker,
 and HsSyn stuff, and renamer stuff, which I found strange.

 After a little investigation, it seems that the simplifier depends on
 CoreMonad, and that pulls some very few type-checker related things:

 1.
     {{{
     import TcRnMonad        ( initTcForLookup )
     import {-# SOURCE #-} TcSplice ( lookupThName_maybe )
     }}}
     for
     {{{
     thNameToGhcName :: TH.Name -> CoreM (Maybe Name)
     thNameToGhcName th_name = do
         hsc_env <- getHscEnv
         liftIO $ initTcForLookup hsc_env (lookupThName_maybe th_name)
     }}}
     which is not even used in GHC, but only in GHC Plugins, so this could
     probably be moved to a separate module pulled in by GhcPlugins.hs

 2.
     {{{
     import TcEnv            ( lookupGlobal )
     }}}
     for
     {{{
     instance MonadThings CoreM where
         lookupThing name = do { hsc_env <- getHscEnv
                               ; liftIO $ lookupGlobal hsc_env name }
     }}}
     This might be a bit harder to disentangle. But if successful, it would
     probably make building GHC in parallel quite a bit faster. And it just
     seems strange to me that the Core-to-Core code should depend on the
     type checker…

 Simon says:

 > Both of these code paths go through initTcForLookup which is massive
 overkill, as the comment with `TcEnv.lookupGlobal` says.  There's clearly
 a ToDo here to strip off the redundant stuff and do a minimal lookup.


 I am optimistically marking this as `newcomer` because it is a refactoring
 task, and a good way of learning a bit about various pieces, with a
 reasonably clear notion of “success”.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 jkiefer):

 Hello. Am newcomer. I'd love to take a stab at this! Will start hacking
 away.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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):

 Great! Do let us know if you encounter trouble.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 simonpj):

 Great.

 I suggest you start with `TcEnv.lookupGlobal`.

 * It invokes `initTcForLookup` (massive overkill) in order to call
 `tcLookupGlobal`. We need  a versionn of this function that operates in
 the IO monad, not the `TcM` monad.

 * What does `tcLookupGlobal` get from the `TcM` monad?  It'll need to get
 these things as explicit arguments instead, I guess.  For example:
 consults the `tcg_type_env`, which was initialised by `initTcForLookup`.
 And it uses `tcg_semantic_mod` likewise.

 * Then it hands off to `LoadIface.tcLookupImported_maybe`.  That does a
 bit more IO-ish things before finally deciding to load a new interface
 decl in `tcImportDecl_maybe`.

 * `tcImportDecl_maybe` uses `initIfaceTcRn` to make an `IfM` moand in
 which to do the loading work.  But instesad you can make an `IfM` from
 scratch, by writing a variant of `initIfaceTcRn`.

 Nothing really hard here, but you'll need to carefully tease out what
 dependencies are where.  (The lack of explicit dependencies is, of course,
 both the blessing and the curse of monadic  progrmaming.)

 Happy to help.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 jkiefer):

 Alrighty! First question while I investigate more into performing a
 minimal lookup instead of using `initTcForLookup`.

 (Bear with me, I'm writing some of this out as I understand it myself)

 We want to refactor `thNameToGhcName` to no longer be a part of CoreMonad
 and instead exist in a module to be pulled by `GhcPlugins.hs`.

 Do correct me if I'm wrong, but creating a singleton module with just
 `thNameToGhcName` in it seems like a naive approach. Is there an existing
 module that is pulled in by `GhcPlugins.hs`that would be an appropriate
 home for `thNameToGhcName`? Or should a new one simply be created?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 simonpj):

 >  I suggest you start with `TcEnv.lookupGlobal`.

 Doing this will avoid you getting sucked into template haskell stuff right
 away.  We can come back to your question when this is done.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 jkiefer):

 Gotcha. Thank you for the guidance!

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 ulysses4ever):

 As it seems to stale for a while, I'd like to give it a try.

 IIUC, the strategy laid by Simon suggests developing a `Tc`-less version
 of `lookupGlobal`. For this we need to identify ties to `Tc` inside it and
 then try to cut those.

 First tie (also spelled by Simon above) is “`tcg_type_env`, which was
 initialised by `initTcForLookup`”. I looked at `initTcForLookup` and its
 dependencies, and it seems to me that `tcg_type_env`is initialized with
 `emptyNameEnv` there. A question: does that mean that corresponding part
 of the `tcLookupGlobal` which queries `tcg_type_env` is not needed at all
 and can be omitted in the `Tc`-less version of `lookupGlobal`?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#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
Reply | Threaded
Open this post in threaded view
|

Re: [GHC] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 simonpj):

 > does that mean that corresponding part of the tcLookupGlobal which
 queries tcg_type_env is not needed at all and can be omitted

 Yes I think so.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:8>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 ulysses4ever):

 One more question. Consider a part of `tcImportDecl_maybe`:
 {{{
 initIfaceTcRn (importDecl name)
 }}}
 You said that it is necessary to create a variant of `initIfaceTcRn`. That
 sounds fine. But here is another thing: `importDecl` has `IfM` in its
 type. And `IfM` is defined in `TcRnTypes`, so leaving it doesn't bring us
 decoupling from the typechecker. Should we also replace `importDecl`? This
 sounds like a lot of work, because it depends on `loadInterface` which is
 >100 LOCs.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:9>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 ulysses4ever):

 Ok, after some more thinking it seems to me that importing just
 `TcRnTypes` is not big deal. Now I'm wondering if it is legit to deal with
 `initIfaceTcRn` by just repalacing it with `TcRnMonad.initIfaceLoad`. If
 so, do we need to move it to some less `Tc`-heavy place?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:10>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 simonpj):

 > importDecl has IfM in its type. And IfM is defined in TcRnTypes, so
 leaving it doesn't bring us decoupling from the typechecker. Should we
 also replace importDecl?

 No, leave all that.  The point is as follows (please document this in your
 patch):

 * `TcEnv.lookupGlobal` may look up an `Id` that one one has previously
 looked up.

 * If so, we are going to read its interface file, and add its bindings to
 the `ExternalPackageTable`, which is a persistent in-memory cache of
 information about other modules.

 * Loading that interface file does quite a bit of work, but we don't
 consider that as "part of the typechecker"; it's essentially just de-
 serialising interface-file data on disk.  For example, any failures are
 not user errors; they represent messed-up files or GHC bugs, so can
 legitimatelly raise an exception.

 * The entire mechanism of `importDecl` and `loadInterface` is part of
 this.  Don't duplicate it!

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:11>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  (none)
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 simonpj):

 > I'm wondering if it is legit to deal with initIfaceTcRn by just
 repalacing it with TcRnMonad.initIfaceLoad

 Yes that sounds just right.

 > If so, do we need to move it to some less Tc-heavy place?

 We might indeed want to do this.  But you might want to keep the moving-
 code-around work in a separate patch, lest the diffs from that refactoring
 obscure the main payload

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:12>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  ulysses4ever
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 ulysses4ever):

 * owner:  (none) => ulysses4ever


Comment:

 I have one more question about `tcLookupGlobal` (hope the last one for
 it). Here its part:
 {{{
 if nameIsLocalOrFrom (tcg_semantic_mod env) name
 then notFound name  -- Internal names can happen in GHCi
 else
 }}}
 I have trouble with `notFound` part which essentially does careful error-
 reporting inside `Tc` monad. I'm lost on how to port this to IO with the
 same amount of precision. So far I come up with dumb solution (to be
 placed in the `then` branch):
 {{{
 pprPanic "lookupGlobal" (ppr name)
 }}}
 It is probably not good enough. Or is it?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:13>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  ulysses4ever
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 ulysses4ever):

 So far I've replaced error-reporting for `TcM` (`notFound`, `failWithTc`)
 with `pprPanic`.

 Now I have full version of `lookupGlobal` in `IO`
 ([https://gist.github.com/ulysses4ever/2b1f3eb7bf0e2779cb1cd30249ec735c
 link]). It doesn't seem to break any test (besides already broken ones).
 Should I submit it to the Phabricator or proceed with the second part
 pointed out by Joachim, `thNameToGhcName`?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:14>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  ulysses4ever
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 ulysses4ever):

 Actually, I don't see `thNameToGhcName` used anywhere (on master). So it
 could be (relatively) freely moved. Maybe `TcSplice`, which it depends
 upon, is the right place for it? In that case the return type's monad,
 probably, should be changed from `CoreM` to plain `IO`.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:15>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  ulysses4ever
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
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 nomeata):

 `thNameToGhcName` is useful for GHC plugins, so any module reexported by
 `GhcPlugins` (or maybe even that module itself) is a good place.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:16>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  ulysses4ever
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  D4503
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by ulysses4ever):

 * differential:   => D4503


--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:17>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  ulysses4ever
            Type:  task              |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  D4503
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by ulysses4ever):

 * status:  new => patch


--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:18>
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] #14391: Make the simplifier independent of the typechecker

GHC - devs mailing list
In reply to this post by GHC - devs mailing list
#14391: Make the simplifier independent of the typechecker
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  ulysses4ever
            Type:  task              |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:  newcomer
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4503
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by ulysses4ever):

 * differential:  D4503 => Phab:D4503


--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14391#comment:19>
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
12