I second Rahul in that -ddump-ds is what you want. But the desugarer actually 
does a quick "simple-optimization" pass before -ddump-ds. If you really want 
the raw desugarer output, you'll need -ddump-ds *and* a DEBUG build of GHC. See 
the code in Desugar here: 
https://github.com/ghc/ghc/blob/master/compiler/deSugar/Desugar.hs#L159

Richard

> On Apr 7, 2017, at 9:05 AM, Rahul Muttineni <[email protected]> wrote:
> 
> Hi Chris,
> 
> I think you're looking for -ddump-ds which outputs the Core just after the 
> desugarer is done. -ddump-simpl gives the Core after the simplifier is run.
> 
> Hope that helps,
> Rahul
> 
> On Fri, Apr 7, 2017 at 6:25 PM, Christopher Done <[email protected] 
> <mailto:[email protected]>> wrote:
> Hi all,
> 
> Just checking, if I want to see the Haskell code desugared to core
> BEFORE any simplification passes, is this the way to do it?
> 
> bash-3.2$ cat > X.hs
> module X where it = (\x -> x * 2) 123
> bash-3.2$ stack exec -- ghc -ddump-simpl X.hs -fforce-recomp
> -fmax-simplifier-iterations=0 -O0
> [1 of 1] Compiling X                ( X.hs, X.o )
> 
> ==================== Tidy Core ====================
> Result size of Tidy Core = {terms: 11, types: 3, coercions: 0}
> 
> -- RHS size: {terms: 4, types: 1, coercions: 0}
> it :: Integer
> [GblId, Str=DmdType]
> it = * @ Integer GHC.Num.$fNumInteger 123 2
> 
> I was a bit surprised that the lambda is collapsed already with
> optimizations turned off and the simplifier iterations set to 0. I
> changed this to (\x -> x * x) and it produced a let instead. Is this
> just one of the things the HS->Core desugarer decides to do?
> 
> Ciao!
> _______________________________________________
> ghc-devs mailing list
> [email protected] <mailto:[email protected]>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs 
> <http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs>
> 
> 
> 
> -- 
> Rahul Muttineni
> _______________________________________________
> ghc-devs mailing list
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

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

Reply via email to