RE: Windows build broken -- help!

2018-02-07 Thread lonetiger
I’ve pushed the commit. Thanks Doug!

From: Douglas Wilson
Sent: Wednesday, February 7, 2018 23:33
To: Simon Peyton Jones
Cc: ghc-devs
Subject: Re: Windows build broken -- help!

Hi Simon,

The first patch you quoted half-fixed this.

the patch here: 
https://phabricator.haskell.org/D4392

should fix whole-fix it. (It at least validates green on windows)

On Thu, Feb 8, 2018 at 12:18 PM, Simon Peyton Jones via ghc-devs 
 wrote:
PS Presumably it’s these commits
commit 00f1a4ab80b201ce15c509126f89c5a108786f32
Author: Douglas Wilson 
Date:   Tue Feb 6 17:27:32 2018 -0500
 
    rts: fix some barf format specifiers.
    
Reviewers: bgamari, erikd, simonmar
    
Reviewed By: bgamari
    
Subscribers: rwbarton, thomie, carter
    
Differential Revision: https://phabricator.haskell.org/D4390
 
commit 4d1c3b72ec27c8e51fb40809bba3ce35246a2966
Author: Ben Gamari 
Date:   Tue Feb 6 13:27:35 2018 -0500
 
    rts: Add format attribute to barf
    
Test Plan: Validate
    
Reviewers: erikd, simonmar
    
Reviewed By: simonmar
    
Subscribers: rwbarton, thomie, carter
    
Differential Revision: https://phabricator.haskell.org/D4374
 
 
From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Simon Peyton 
Jones via ghc-devs
Sent: 07 February 2018 23:14
To: ghc-devs ; Phyx 
Subject: Windows build broken -- help!
 
Aargh. Windows build is broken again.  Log below.  Help!
Simon
 
"inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall -optc-Werror 
-optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes 
-optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return 
-optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs 
-optc-Wredundant-decls -optc-Wundef -optc-Iincludes -optc-Iincludes/dist 
-optc-Iincludes/dist-derivedconstants/header 
-optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build 
-optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common 
-optc-Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2 
-optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_v\" 
-optc-DWINVER=0x06000100 -static  -O0 -H64m -Wall 
-fllvm-fill-undef-with-garbage    -Werror -Iincludes -Iincludes/dist 
-Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header 
-Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -dcmm-lint  -i 
-irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen 
-Irts/dist/build/./autogen    -O2 -Wcpp-undef    
-Wnoncanonical-monad-instances  -c rts/StgPrimFloat.c -o 
rts/dist/build/StgPrimFloat.o
 
rts\Schedule.c:274:14: error:
 error: unknown conversion type character 'l' in format [-Werror=format=]
 barf("sched_state: %" FMT_Word, sched_state);
  ^~~~
    |
274 | barf("sched_state: %" FMT_Word, sched_state);
    |  ^
In file included from 
C:/code/HEAD-1/inplace/mingw/x86_64-w64-mingw32/include/stdio.h:1036:0,
 from includes/rts/Flags.h:16,
 from includes/Rts.h:191,
 
 from rts\Schedule.c:11:0: error: 
C:/code/HEAD-1/inplace/mingw/x86_64-w64-mingw32/include/_mingw_print_pop.h:86:18:
 note: format string is defined here
#define PRIu64 "llu"
  ^
 
rts\Schedule.c:274:14: error:
 error: too many arguments for format [-Werror=format-extra-args]
 barf("sched_state: %" FMT_Word, sched_state);
  ^~~~
    |
274 | barf("sched_state: %" FMT_Word, sched_state);
    |  ^
cc1.exe: all warnings being treated as errors
`gcc.exe' failed in phase `C Compiler'. (Exit code: 1)
"inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall -optc-Werror 
-optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes 
-optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return 
-optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs 
-optc-Wredundant-decls -optc-Wundef -optc-Iincludes -optc-Iincludes/dist 
-optc-Iincludes/dist-derivedconstants/header 
-optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build 
-optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common 
-optc-Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2 
-optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_v\" 
-optc-DWINVER=0x06000100 -static  -O0 -H64m -Wall 
-fllvm-fill-undef-with-garbage    -Werror -Iincludes -Iincludes/dist 
-Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header 
-Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -dcmm-lint  -i 
-irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen 
-Irts/dist/build/./autogen    -O2 -Wcpp-undef    
-Wnoncanonical-monad-instances  -c rts/Profiling.c -o rts/dist/build/Profiling.o
make[1]: *** [rts/ghc.mk:295: rts/dist/build/Schedule.o] 

Re: Windows build broken -- help!

2018-02-07 Thread Douglas Wilson
Hi Simon,

The first patch you quoted half-fixed this.

the patch here:
https://phabricator.haskell.org/D4392

should fix whole-fix it. (It at least validates green on windows)

On Thu, Feb 8, 2018 at 12:18 PM, Simon Peyton Jones via ghc-devs <
ghc-devs@haskell.org> wrote:

> PS Presumably it’s these commits
>
> commit 00f1a4ab80b201ce15c509126f89c5a108786f32
>
> Author: Douglas Wilson 
>
> Date:   Tue Feb 6 17:27:32 2018 -0500
>
>
>
> rts: fix some barf format specifiers.
>
>
>
> Reviewers: bgamari, erikd, simonmar
>
>
>
> Reviewed By: bgamari
>
>
>
> Subscribers: rwbarton, thomie, carter
>
>
>
> Differential Revision: https://phabricator.haskell.org/D4390
>
>
>
> commit 4d1c3b72ec27c8e51fb40809bba3ce35246a2966
>
> Author: Ben Gamari 
>
> Date:   Tue Feb 6 13:27:35 2018 -0500
>
>
>
> rts: Add format attribute to barf
>
>
>
> Test Plan: Validate
>
>
>
> Reviewers: erikd, simonmar
>
>
>
> Reviewed By: simonmar
>
>
>
> Subscribers: rwbarton, thomie, carter
>
>
>
> Differential Revision: https://phabricator.haskell.org/D4374
>
>
>
>
>
> *From:* ghc-devs [mailto:ghc-devs-boun...@haskell.org] *On Behalf Of *Simon
> Peyton Jones via ghc-devs
> *Sent:* 07 February 2018 23:14
> *To:* ghc-devs ; Phyx 
> *Subject:* Windows build broken -- help!
>
>
>
> Aargh. Windows build is broken again.  Log below.  Help!
>
> Simon
>
>
>
> "inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall
> -optc-Werror -optc-Wall -optc-Wextra -optc-Wstrict-prototypes
> -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline
> -optc-Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noreturn
> -optc-Wnested-externs -optc-Wredundant-decls -optc-Wundef -optc-Iincludes
> -optc-Iincludes/dist -optc-Iincludes/dist-derivedconstants/header
> -optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build
> -optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common
> -optc-Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2
> -optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_v\"
> -optc-DWINVER=0x06000100 -static  -O0 -H64m -Wall 
> -fllvm-fill-undef-with-garbage
> -Werror -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header
> -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build
> -DCOMPILING_RTS -this-unit-id rts -dcmm-lint  -i -irts -irts/dist/build
> -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen
> -O2 -Wcpp-undef-Wnoncanonical-monad-instances  -c rts/StgPrimFloat.c
> -o rts/dist/build/StgPrimFloat.o
>
>
>
> rts\Schedule.c:274:14: error:
>
>  error: unknown conversion type character 'l' in format
> [-Werror=format=]
>
>  barf("sched_state: %" FMT_Word, sched_state);
>
>   ^~~~
>
> |
>
> 274 | barf("sched_state: %" FMT_Word, sched_state);
>
> |  ^
>
> In file included from C:/code/HEAD-1/inplace/mingw/
> x86_64-w64-mingw32/include/stdio.h:1036:0,
>
>  from includes/rts/Flags.h:16,
>
>  from includes/Rts.h:191,
>
>
>
>  from rts\Schedule.c:11:0: error:
>
> C:/code/HEAD-1/inplace/mingw/x86_64-w64-mingw32/include/_mingw_print_pop.h:86:18:
> note: format string is defined here
>
> #define PRIu64 "llu"
>
>   ^
>
>
>
> rts\Schedule.c:274:14: error:
>
>  error: too many arguments for format [-Werror=format-extra-args]
>
>  barf("sched_state: %" FMT_Word, sched_state);
>
>   ^~~~
>
> |
>
> 274 | barf("sched_state: %" FMT_Word, sched_state);
>
> |  ^
>
> cc1.exe: all warnings being treated as errors
>
> `gcc.exe' failed in phase `C Compiler'. (Exit code: 1)
>
> "inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall
> -optc-Werror -optc-Wall -optc-Wextra -optc-Wstrict-prototypes
> -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline
> -optc-Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noreturn
> -optc-Wnested-externs -optc-Wredundant-decls -optc-Wundef -optc-Iincludes
> -optc-Iincludes/dist -optc-Iincludes/dist-derivedconstants/header
> -optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build
> -optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common
> -optc-Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2
> -optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_v\"
> -optc-DWINVER=0x06000100 -static  -O0 -H64m -Wall 
> -fllvm-fill-undef-with-garbage
> -Werror -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header
> -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build
> -DCOMPILING_RTS -this-unit-id rts -dcmm-lint  -i -irts -irts/dist/build
> -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen
> -O2 -Wcpp-undef-Wnoncanonical-monad-instances  -c rts/Profiling.c -o
> rts/dist/build/Profiling.o
>
> make[1]: 

Windows build broken -- help!

2018-02-07 Thread Simon Peyton Jones via ghc-devs
Aargh. Windows build is broken again.  Log below.  Help!
Simon


"inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall -optc-Werror 
-optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes 
-optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return 
-optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs 
-optc-Wredundant-decls -optc-Wundef -optc-Iincludes -optc-Iincludes/dist 
-optc-Iincludes/dist-derivedconstants/header 
-optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build 
-optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common 
-optc-Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2 
-optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_v\" 
-optc-DWINVER=0x06000100 -static  -O0 -H64m -Wall 
-fllvm-fill-undef-with-garbage-Werror -Iincludes -Iincludes/dist 
-Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header 
-Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -dcmm-lint  -i 
-irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen 
-Irts/dist/build/./autogen-O2 -Wcpp-undef
-Wnoncanonical-monad-instances  -c rts/StgPrimFloat.c -o 
rts/dist/build/StgPrimFloat.o



rts\Schedule.c:274:14: error:

 error: unknown conversion type character 'l' in format [-Werror=format=]

 barf("sched_state: %" FMT_Word, sched_state);

  ^~~~

|

274 | barf("sched_state: %" FMT_Word, sched_state);

|  ^

In file included from 
C:/code/HEAD-1/inplace/mingw/x86_64-w64-mingw32/include/stdio.h:1036:0,

 from includes/rts/Flags.h:16,

 from includes/Rts.h:191,



 from rts\Schedule.c:11:0: error:

C:/code/HEAD-1/inplace/mingw/x86_64-w64-mingw32/include/_mingw_print_pop.h:86:18:
 note: format string is defined here

#define PRIu64 "llu"

  ^



rts\Schedule.c:274:14: error:

 error: too many arguments for format [-Werror=format-extra-args]

 barf("sched_state: %" FMT_Word, sched_state);

  ^~~~

|

274 | barf("sched_state: %" FMT_Word, sched_state);

|  ^

cc1.exe: all warnings being treated as errors

`gcc.exe' failed in phase `C Compiler'. (Exit code: 1)

"inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall -optc-Werror 
-optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes 
-optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return 
-optc-Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs 
-optc-Wredundant-decls -optc-Wundef -optc-Iincludes -optc-Iincludes/dist 
-optc-Iincludes/dist-derivedconstants/header 
-optc-Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build 
-optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common 
-optc-Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2 
-optc-fomit-frame-pointer -optc-g -optc-DRtsWay=\"rts_v\" 
-optc-DWINVER=0x06000100 -static  -O0 -H64m -Wall 
-fllvm-fill-undef-with-garbage-Werror -Iincludes -Iincludes/dist 
-Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header 
-Irts -Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -dcmm-lint  -i 
-irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen 
-Irts/dist/build/./autogen-O2 -Wcpp-undef
-Wnoncanonical-monad-instances  -c rts/Profiling.c -o rts/dist/build/Profiling.o

make[1]: *** [rts/ghc.mk:295: rts/dist/build/Schedule.o] Error 1

make[1]: *** Waiting for unfinished jobs

make: *** [Makefile:127: all] Error 2

/c/code/HEAD-1$
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: package01e failure

2018-02-07 Thread David Feuer
The Phabricator differential validated successfully, so that's somewhat 
surprising.


David FeuerWell-Typed, LLP
 Original message From: Simon Peyton Jones via ghc-devs 
 Date: 2/7/18  4:54 AM  (GMT-05:00) To: ghc-devs 
 Subject: package01e failure 
I'm getting this test failure, presumably because of a version bump in 
containers.  I think this is a clean build from scratch.
Could someone have forgotten to update a test file?

Simon


=> package01e(normal) 1 of 1 [0, 0, 0]

cd "./package01e.run" &&  "/5playpen/simonpj/HEAD-5/inplace/test   
spaces/ghc-stage2" -c package01e.hs -dcore-lint -dcmm-lint -no-user-package-db 
-rtsopts -fno-warn-missed-specialisations -fshow-warning-groups 
-fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  
-hide-all-packages -XNoImplicitPrelude -package "containers (Data.Map as Map, 
Data.Set)"

Actual stderr output differs from expected:

diff -uw "./package01e.run/package01e.stderr.normalised" 
"./package01e.run/package01e.comp.stderr.normalised"

--- ./package01e.run/package01e.stderr.normalised    2018-02-07 
09:52:44.562487065 +

+++ ./package01e.run/package01e.comp.stderr.normalised  2018-02-07 
09:52:44.562487065 +

@@ -2,9 +2,11 @@

package01e.hs:2:1:

 Could not find module 'Data.Map'

 It is a member of the hidden package 'containers-0.5.11.0'.

+    It is a member of the hidden package 'containers-0.5.10.2'.

 Use -v to see a list of the files searched for.

 package01e.hs:3:1:

 Could not find module 'Data.IntMap'

 It is a member of the hidden package 'containers-0.5.11.0'.

+    It is a member of the hidden package 'containers-0.5.10.2'.

 Use -v to see a list of the files searched for.

*** unexpected failure for package01e(normal)
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


package01e failure

2018-02-07 Thread Simon Peyton Jones via ghc-devs
I'm getting this test failure, presumably because of a version bump in 
containers.  I think this is a clean build from scratch.
Could someone have forgotten to update a test file?

Simon


=> package01e(normal) 1 of 1 [0, 0, 0]

cd "./package01e.run" &&  "/5playpen/simonpj/HEAD-5/inplace/test   
spaces/ghc-stage2" -c package01e.hs -dcore-lint -dcmm-lint -no-user-package-db 
-rtsopts -fno-warn-missed-specialisations -fshow-warning-groups 
-fdiagnostics-color=never -fno-diagnostics-show-caret -dno-debug-output  
-hide-all-packages -XNoImplicitPrelude -package "containers (Data.Map as Map, 
Data.Set)"

Actual stderr output differs from expected:

diff -uw "./package01e.run/package01e.stderr.normalised" 
"./package01e.run/package01e.comp.stderr.normalised"

--- ./package01e.run/package01e.stderr.normalised2018-02-07 
09:52:44.562487065 +

+++ ./package01e.run/package01e.comp.stderr.normalised  2018-02-07 
09:52:44.562487065 +

@@ -2,9 +2,11 @@

package01e.hs:2:1:

 Could not find module 'Data.Map'

 It is a member of the hidden package 'containers-0.5.11.0'.

+It is a member of the hidden package 'containers-0.5.10.2'.

 Use -v to see a list of the files searched for.

 package01e.hs:3:1:

 Could not find module 'Data.IntMap'

 It is a member of the hidden package 'containers-0.5.11.0'.

+It is a member of the hidden package 'containers-0.5.10.2'.

 Use -v to see a list of the files searched for.

*** unexpected failure for package01e(normal)
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


RE: Can't typeset docs

2018-02-07 Thread Simon Peyton Jones via ghc-devs
|  > When I have
|  >
|  > BUILD_SPHINX_HTML= YES
|  >
|  > BUILD_SPHINX_PDF = YES
|  > I get this error in my build.  Any ideas? I think Sphinx is up to
|  date.
|  > Thanks
|  > Simon
|  >
|  I suspect the cause here is the --no-clean, which doesn't run ./boot
|  and ./configure. The latter generates docs/users_guide/ghc_config.py,
|  which appears to be missing. Is the problem reproducible with a fresh
|  validate?

Thanks Ben.  I think you are right -- sorry about that.  I didn't know that you 
need to start from clean of you change those settings.

But a fresh validate still fails, just differently.  Tail of the log is below.  
There seem be two suspicious lines:

Package cmap Warning: pdftex not detected - exiting.

and later

(/usr/share/texlive/texmf-dist/doc/support/pedigree-perl/examples/english.cfg
! You can't use `macro parameter character #' in vertical mode.
l.1 #
An example configuration file for pedigree program
No pages of output.

Full log below

Oh, and I do have pdftex:

simonpj@cam-05-unx:~/5builds/HEAD-3$ pdftex --version
pdfTeX 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian)
kpathsea version 6.2.1
Copyright 2015 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.6.17; using libpng 1.6.17
Compiled with zlib 1.2.8; using zlib 1.2.8
Compiled with poppler version 0.41.0
simonpj@cam-05-unx:~/5builds/HEAD-3$

Simon


flow.thr_l_dyn_o rts/dist/build/sm/MBlock.thr_l_dyn_o 
rts/dist/build/sm/Scav.thr_l_dyn_o rts/dist/build/sm/CNF.thr_l_dyn_o 
rts/dist/build/sm/Compact.thr_l_dyn_o rts/dist/build/sm/GCAux.thr_l_dyn_o 
rts/dist/build/sm/Sweep.thr_l_dyn_o rts/dist/build/sm/GCUtils.thr_l_dyn_o 
rts/dist/build/sm/BlockAlloc.thr_l_dyn_o rts/dist/build/sm/Evac_thr.thr_l_dyn_o 
rts/dist/build/sm/MarkWeak.thr_l_dyn_o rts/dist/build/sm/GC.thr_l_dyn_o 
rts/dist/build/sm/Sanity.thr_l_dyn_o rts/dist/build/sm/Evac.thr_l_dyn_o 
rts/dist/build/sm/Storage.thr_l_dyn_o rts/dist/build/sm/Scav_thr.thr_l_dyn_o 
rts/dist/build/eventlog/EventLogWriter.thr_l_dyn_o 
rts/dist/build/eventlog/EventLog.thr_l_dyn_o 
rts/dist/build/linker/elf_reloc_aarch64.thr_l_dyn_o 
rts/dist/build/linker/MachO.thr_l_dyn_o 
rts/dist/build/linker/PEi386.thr_l_dyn_o 
rts/dist/build/linker/elf_plt.thr_l_dyn_o 
rts/dist/build/linker/elf_reloc.thr_l_dyn_o 
rts/dist/build/linker/elf_plt_aarch64.thr_l_dyn_o 
rts/dist/build/linker/M32Alloc.thr_l_dyn_o 
rts/dist/build/linker/Elf.thr_l_dyn_o 
rts/dist/build/linker/CacheFlush.thr_l_dyn_o 
rts/dist/build/linker/elf_got.thr_l_dyn_o 
rts/dist/build/linker/SymbolExtras.thr_l_dyn_o 
rts/dist/build/linker/elf_plt_arm.thr_l_dyn_o 
rts/dist/build/linker/LoadArchive.thr_l_dyn_o 
rts/dist/build/linker/elf_util.thr_l_dyn_o 
rts/dist/build/posix/OSMem.thr_l_dyn_o rts/dist/build/posix/GetTime.thr_l_dyn_o 
rts/dist/build/posix/OSThreads.thr_l_dyn_o 
rts/dist/build/posix/Itimer.thr_l_dyn_o rts/dist/build/posix/TTY.thr_l_dyn_o 
rts/dist/build/posix/Signals.thr_l_dyn_o 
rts/dist/build/posix/Select.thr_l_dyn_o rts/dist/build/posix/GetEnv.thr_l_dyn_o 
  rts/dist/build/StgStartup.thr_l_dyn_o rts/dist/build/Updates.thr_l_dyn_o 
rts/dist/build/Exception.thr_l_dyn_o rts/dist/build/StgMiscClosures.thr_l_dyn_o 
rts/dist/build/Apply.thr_l_dyn_o rts/dist/build/Compact.thr_l_dyn_o 
rts/dist/build/StgStdThunks.thr_l_dyn_o 
rts/dist/build/HeapStackCheck.thr_l_dyn_o rts/dist/build/PrimOps.thr_l_dyn_o 
rts/dist/build/AutoApply.thr_l_dyn_o  -fPIC -dynamic -optc-DTHREADED_RTS 
-eventlog  -O0 -H64m -Wall -fllvm-fill-undef-with-garbage-Werror -Iincludes 
-Iincludes/dist -Iincludes/dist-derivedconstants/header 
-Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS 
-this-unit-id rts -dcmm-lint  -i -irts -irts/dist/build -Irts/dist/build 
-irts/dist/build/./autogen -Irts/dist/build/./autogen-O2 
-Wcpp-undef-Wnoncanonical-monad-instances   -o 
rts/dist/build/libHSrts_thr_l-ghc8.5.20180207.so
reading sources... [ 28%] ffi-chap
"rm" -f rts/dist/build/libHSrts_debug.a
reading sources... [ 28%] ffi-chap
echo rts/dist/build/ProfHeap.debug_o rts/dist/build/TopHandler.debug_o 
rts/dist/build/Stats.debug_o rts/dist/build/Arena.debug_o 
rts/dist/build/Stable.debug_o rts/dist/build/Linker.debug_o 
rts/dist/build/RtsFlags.debug_o rts/dist/build/Sparks.debug_o 
rts/dist/build/Profiling.debug_o rts/dist/build/RetainerSet.debug_o 
rts/dist/build/RtsStartup.debug_o rts/dist/build/FileLock.debug_o 
rts/dist/build/StgPrimFloat.debug_o rts/dist/build/CheckUnload.debug_o 
rts/dist/build/StaticPtrTable.debug_o rts/dist/build/WSDeque.debug_o 
rts/dist/build/Disassembler.debug_o 

RE: Strict unlifted types

2018-02-07 Thread Simon Peyton Jones via ghc-devs
Sounds similar to https://ghc.haskell.org/trac/ghc/wiki/UnliftedDataTypes

Simon

|  -Original Message-
|  From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of
|  David Feuer
|  Sent: 07 February 2018 01:11
|  To: ghc-devs 
|  Subject: Strict unlifted types
|  
|  Sometimes there's an awkward expressive tension between saying that a
|  type is *unboxed* and saying that it is *strict* in a field. For
|  example, I can write
|  
|  data SMaybe a = SNothing | SJust !a
|  
|  or I can write
|  
|  type Maybe# a = (# (# #) | a #)
|  
|  but there doesn't seem to be a way to simultaneously get both unboxed
|  and strict. I'm wondering if it might make sense to add a type to
|  serve the purpose
|  
|  Strict# :: Type -> TYPE 'UnliftedRep
|  
|  mkStrict# :: a -> Strict# a  -- force the argument getStrict# ::
|  Strict# a -> a  -- do nothing, but know the result is in WHNF
|  
|  Then one could write, for example,
|  
|  type SMaybe# a = (# (# #) | Strict# a #)
|  
|  at which point SMaybe is *precisely* isomorphic to the alternative
|  representation
|  
|  data SMaybe' a = SMaybe' (SMaybe# a)
|  
|  David
|  ___
|  ghc-devs mailing list
|  ghc-devs@haskell.org
|  https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.h
|  askell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-
|  devs=04%7C01%7Csimonpj%40microsoft.com%7Cdf3667262c11430fef8008d5
|  6dc7c3e7%7Cee3303d7fb734b0c8589bcd847f1c277%7C1%7C0%7C6365356271225789
|  33%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI
|  6Ik1haWwifQ%3D%3D%7C-
|  1=x736pxmxWrkybgV6xXLjIT9EFnKibMJuiEyJpj1SfSw%3D=0
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs