ghc.git
10 years agobuild Haddock docs
Simon Marlow [Wed, 13 May 2009 10:01:42 +0000 (10:01 +0000)] 
build Haddock docs

10 years agoenable LinkDynLib in compilier phase
y.zhuang5@lse.ac.uk [Wed, 22 Apr 2009 20:19:37 +0000 (20:19 +0000)] 
enable LinkDynLib in compilier phase

10 years agoexpand hack to include PS docs too
Simon Marlow [Wed, 13 May 2009 07:59:03 +0000 (07:59 +0000)] 
expand hack to include PS docs too

10 years agostub Makefile
Simon Marlow [Mon, 11 May 2009 14:51:22 +0000 (14:51 +0000)] 
stub Makefile

10 years agoGhcBootLibs is no more
Simon Marlow [Mon, 11 May 2009 14:50:06 +0000 (14:50 +0000)] 
GhcBootLibs is no more

10 years agoupdates to the section describing the +RTS -s/-S output (#3211)
Simon Marlow [Mon, 11 May 2009 14:49:35 +0000 (14:49 +0000)] 
updates to the section describing the  +RTS -s/-S output (#3211)

10 years agomulti-slurp protection
Simon Marlow [Fri, 8 May 2009 09:22:00 +0000 (09:22 +0000)] 
multi-slurp protection

10 years agoImprove error messages for type functions
simonpj@microsoft.com [Tue, 12 May 2009 17:12:29 +0000 (17:12 +0000)] 
Improve error messages for type functions

Following a suggestion of Claus Reinke, this patch improves the error
messages involving type functions.  Here's the relevant note from TcTyFuns.

Note [Non-injective type functions]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It's very confusing to get a message like
     Couldn't match expected type `Depend s'
            against inferred type `Depend s1'
so pp_open_tc adds:
       NB: `Depend' is a (non-injective) type function

Currently we add this independently for each argument, so we also get
     Couldn't match expected type `a'
            against inferred type `Dual (Dual a)'
       NB: `Dual' is a (non-injective) type function
which is arguably redundant.  But on the other hand, it's probably
a good idea for the programmer to know the error involves type functions
so I've left it in for now.  The obvious alternative is to only add
this NB in the case of matching (T ...) ~ (T ...).

10 years agostub makefile
Simon Marlow [Mon, 11 May 2009 13:36:15 +0000 (13:36 +0000)] 
stub makefile

10 years agoHack to make the user's guide build in a linked build tree
Simon Marlow [Mon, 11 May 2009 13:35:23 +0000 (13:35 +0000)] 
Hack to make the user's guide build in a linked build tree
See comment for details

10 years agomake it so that 'make html', 'make pdf', and 'make ps' work for docs
Simon Marlow [Mon, 11 May 2009 12:02:56 +0000 (12:02 +0000)] 
make it so that 'make html', 'make pdf', and 'make ps' work for docs

10 years agocorrect the +RTS -? docs for -A (default is 512k not 256k)
Simon Marlow [Fri, 8 May 2009 08:38:11 +0000 (08:38 +0000)] 
correct the +RTS -? docs for -A (default is 512k not 256k)

10 years agoUse a more compact +RTS -s output for Tasks
Simon Marlow [Fri, 8 May 2009 08:37:38 +0000 (08:37 +0000)] 
Use a more compact +RTS -s output for Tasks

                        MUT time (elapsed)       GC time  (elapsed)
  Task  0 (worker) :    0.00s    (  0.00s)       0.00s    (  0.00s)
  Task  1 (worker) :    0.00s    (  0.01s)       0.00s    (  0.00s)
  Task  2 (worker) :    0.00s    (  0.03s)       0.00s    (  0.00s)
  Task  3 (bound)  :    0.00s    (  0.00s)       0.02s    (  0.04s)

10 years agodisable a warning
Simon Marlow [Tue, 5 May 2009 09:20:15 +0000 (09:20 +0000)] 
disable a warning

10 years agodocbook PDF item is done
Simon Marlow [Tue, 5 May 2009 09:20:09 +0000 (09:20 +0000)] 
docbook PDF item is done

10 years agoadd a .c --> .s rule
Simon Marlow [Fri, 1 May 2009 09:56:27 +0000 (09:56 +0000)] 
add a .c --> .s rule

10 years agoRemove libraries/ifBuildable.hs; it's no longer used
Ian Lynagh [Sat, 9 May 2009 20:07:08 +0000 (20:07 +0000)] 
Remove libraries/ifBuildable.hs; it's no longer used

10 years agoFix configure
Ian Lynagh [Sat, 9 May 2009 18:46:34 +0000 (18:46 +0000)] 
Fix configure

10 years agoBuild system tweak
Ian Lynagh [Sat, 9 May 2009 14:29:36 +0000 (14:29 +0000)] 
Build system tweak

10 years agoAdd a Makefile in libraries/
Ian Lynagh [Fri, 8 May 2009 23:29:20 +0000 (23:29 +0000)] 
Add a Makefile in libraries/

10 years agoTweak ./boot
Ian Lynagh [Fri, 8 May 2009 23:02:36 +0000 (23:02 +0000)] 
Tweak ./boot

10 years agoPartially fix "make framework-pkg"
Ian Lynagh [Fri, 8 May 2009 22:48:57 +0000 (22:48 +0000)] 
Partially fix "make framework-pkg"
We still need to sort out the "install-docs" story to get this working
properly.

10 years agoHandle deciding what docs to build better
Ian Lynagh [Fri, 8 May 2009 00:06:03 +0000 (00:06 +0000)] 
Handle deciding what docs to build better
Now we have variables for whether or not to build the docbook docs as
HTML, as PS, and as PDF. The configure script output now matches what
the build system will do (except it cannot take account of any
mk/build.mk settings, of course).

10 years agoRemove oldconfig.mk.in
Ian Lynagh [Thu, 7 May 2009 15:06:41 +0000 (15:06 +0000)] 
Remove oldconfig.mk.in

10 years agoRename pwd to ghc-pwd
Ian Lynagh [Thu, 7 May 2009 13:50:34 +0000 (13:50 +0000)] 
Rename pwd to ghc-pwd

10 years agoRemove pwd's Makefile from the old build system
Ian Lynagh [Thu, 7 May 2009 13:43:56 +0000 (13:43 +0000)] 
Remove pwd's Makefile from the old build system

10 years agoClean utils/pwd
Ian Lynagh [Thu, 7 May 2009 13:42:59 +0000 (13:42 +0000)] 
Clean utils/pwd

10 years agoUse more portable shell in ./boot; fixes booting on Solaris
Ian Lynagh [Wed, 6 May 2009 01:04:45 +0000 (01:04 +0000)] 
Use more portable shell in ./boot; fixes booting on Solaris

10 years agoSimplify utils/pwd
Ian Lynagh [Tue, 5 May 2009 22:34:32 +0000 (22:34 +0000)] 
Simplify utils/pwd
We only need the forwardslash mode now, so always use that mode and
don't accept any arguments.

10 years agoMore rules for bootstrapping
Ian Lynagh [Mon, 4 May 2009 15:02:09 +0000 (15:02 +0000)] 
More rules for bootstrapping

10 years agoBootstrapping fix
Ian Lynagh [Mon, 4 May 2009 14:26:05 +0000 (14:26 +0000)] 
Bootstrapping fix

10 years agoBootstrapping fixes
Ian Lynagh [Mon, 4 May 2009 14:25:11 +0000 (14:25 +0000)] 
Bootstrapping fixes

10 years agoTest "ghc-pkg check" passes in bindisttest
Ian Lynagh [Mon, 4 May 2009 10:53:24 +0000 (10:53 +0000)] 
Test "ghc-pkg check" passes in bindisttest
Also fixes it so that it really does pass (we weren't substituting the
GMP variables in the RTS package config).

10 years agoPut install-sh into bindists
Ian Lynagh [Mon, 4 May 2009 10:40:26 +0000 (10:40 +0000)] 
Put install-sh into bindists

10 years agoTest bindists in a deeper subdirectory
Ian Lynagh [Mon, 4 May 2009 10:35:04 +0000 (10:35 +0000)] 
Test bindists in a deeper subdirectory
configure looks for install-sh in . .. ../.. and we don't want it to
find the build system's install-sh.

10 years agoUse "-x c" when compiling hc files
Ian Lynagh [Sun, 3 May 2009 20:53:44 +0000 (20:53 +0000)] 
Use "-x c" when compiling hc files

10 years agoMakefile rules tweak for BootingFromHc
Ian Lynagh [Sun, 3 May 2009 20:37:33 +0000 (20:37 +0000)] 
Makefile rules tweak for BootingFromHc

10 years agoMore bootstrapping rules
Ian Lynagh [Sun, 3 May 2009 20:18:12 +0000 (20:18 +0000)] 
More bootstrapping rules

10 years agoAdd a .hc building rules for bootstrapping
Ian Lynagh [Sun, 3 May 2009 19:05:08 +0000 (19:05 +0000)] 
Add a .hc building rules for bootstrapping

10 years agoTweak rts ghc.mk for bootstrapping
Ian Lynagh [Sun, 3 May 2009 11:10:09 +0000 (11:10 +0000)] 
Tweak rts ghc.mk for bootstrapping

10 years agoAdd a build system TODO
Ian Lynagh [Sun, 3 May 2009 22:46:27 +0000 (22:46 +0000)] 
Add a build system TODO

10 years agoAdd dph to build system; patch from Roman Leshchinskiy
Ian Lynagh [Sun, 3 May 2009 10:40:05 +0000 (10:40 +0000)] 
Add dph to build system; patch from Roman Leshchinskiy

10 years agoFix building without GHCi
Ian Lynagh [Sun, 3 May 2009 00:44:37 +0000 (00:44 +0000)] 
Fix building without GHCi

10 years agoMakefile tweak
Ian Lynagh [Sat, 2 May 2009 22:56:01 +0000 (22:56 +0000)] 
Makefile tweak

10 years agoadd publish-binary-dist; tidy up
Simon Marlow [Fri, 1 May 2009 11:28:57 +0000 (11:28 +0000)] 
add publish-binary-dist; tidy up

10 years agoFix make for libffi again, properly this time
Duncan Coutts [Thu, 30 Apr 2009 22:55:46 +0000 (22:55 +0000)] 
Fix make for libffi again, properly this time
No idea how the last patch managed to pass validate.

10 years agoFix parallel make for libffi.
Duncan Coutts [Thu, 30 Apr 2009 13:56:37 +0000 (13:56 +0000)] 
Fix parallel make for libffi.
I didn't realise make can invoke the same action multiple
times in parallel if the rule has multiple targets. So go
back to using a build stamp file.

10 years agoFix linking shared libs with parallel make
Duncan Coutts [Thu, 30 Apr 2009 12:37:53 +0000 (12:37 +0000)] 
Fix linking shared libs with parallel make
Unlike with static libs, when linking shared libs the dependencies
have to already exist. Add a dependency $1_$2_$3_LIBS : $1_$2_$3_DEPS_LIBS

10 years agoFix building Haskeline on Windows
Ian Lynagh [Thu, 30 Apr 2009 16:16:13 +0000 (16:16 +0000)] 
Fix building Haskeline on Windows

10 years agoFix mkdependC: Make it tell cpp to use our temporary filename
Ian Lynagh [Thu, 30 Apr 2009 13:06:38 +0000 (13:06 +0000)] 
Fix mkdependC: Make it tell cpp to use our temporary filename

10 years agoFIX build: add dependencies on ghc_boot_platform.h
Simon Marlow [Thu, 30 Apr 2009 10:02:45 +0000 (10:02 +0000)] 
FIX build: add dependencies on ghc_boot_platform.h

10 years agoPrevent haddock docs being built when HADDOCK_DOCS=NO
Duncan Coutts [Wed, 29 Apr 2009 16:02:30 +0000 (16:02 +0000)] 
Prevent haddock docs being built when HADDOCK_DOCS=NO

10 years agoClean up building of libffi for dynamic lib way
Duncan Coutts [Wed, 29 Apr 2009 15:30:02 +0000 (15:30 +0000)] 
Clean up building of libffi for dynamic lib way
And depend on it at the top level when we're using dynamic libs.

10 years agoBuild library packages as shared libs
Duncan Coutts [Wed, 29 Apr 2009 15:15:53 +0000 (15:15 +0000)] 
Build library packages as shared libs
when we configure ghc with --enable-shared

10 years agoBuild the rts as a shared lib correctly
Duncan Coutts [Wed, 29 Apr 2009 14:31:31 +0000 (14:31 +0000)] 
Build the rts as a shared lib correctly
That is, build it as a .so/.dll rather than as libHSrts_dyn.a

10 years agoDon't actually build ghc itself with -dynamic
Duncan Coutts [Wed, 29 Apr 2009 14:29:40 +0000 (14:29 +0000)] 
Don't actually build ghc itself with -dynamic
For now, with --enable-shared we'll build the libs shared,
but ghc itself will still be statically linked.
In any case, we would want to be able to build it both
ways so it's easy to test both.

10 years agoAdd a new $way_libsuf variable for library suffix+extension
Duncan Coutts [Tue, 28 Apr 2009 12:35:29 +0000 (12:35 +0000)] 
Add a new $way_libsuf variable for library suffix+extension
This allows the library file type to depend on the way. This is needed
to use .so/.dll libs for the "dyn" way rather than always using .a libs.
For example: thr_debug_dyn_libsuf="_thr_debug-ghc6.11.20090426.so"

10 years agoextend the rules/c-objs macro to take the way as a parameter
Duncan Coutts [Tue, 28 Apr 2009 12:34:52 +0000 (12:34 +0000)] 
extend the rules/c-objs macro to take the way as a parameter
Previously we only built library package "cbits" the vanilla way, afterall
C code does not need to be built differently for profiling builds. However
for dynamic libs the C code needs to be built with -fPIC, so we do need
to be able to build package .c (and .s?) files multiple ways.

10 years agoDo not link ghc stage1 using -threaded, only for stage2 or 3
Duncan Coutts [Tue, 28 Apr 2009 10:49:24 +0000 (10:49 +0000)] 
Do not link ghc stage1 using -threaded, only for stage2 or 3
We link stage1 using the bootstrapping compiler and there's
no guarantee that it has working support for threaded

10 years agoTweak ghc-cabal
Ian Lynagh [Wed, 29 Apr 2009 18:37:28 +0000 (18:37 +0000)] 
Tweak ghc-cabal

10 years agoAdd special support for haskeline
Ian Lynagh [Wed, 29 Apr 2009 18:19:09 +0000 (18:19 +0000)] 
Add special support for haskeline
The library uses stuff in Setup.hs to determine whether or not it needs
to use -liconv. This patch replicates that logic in ghc-cabal. This
isn't pretty, and we should find a better way to do it, but it works
for now.

10 years agoIn mkdependC.prl, create temp files properly
Ian Lynagh [Wed, 29 Apr 2009 15:12:15 +0000 (15:12 +0000)] 
In mkdependC.prl, create temp files properly
Avoids a race condition, where one run deletes/overwrites the temp file
of another.

10 years agoUse haskeline, rather than editline, for line editing in ghci
Ian Lynagh [Wed, 29 Apr 2009 00:58:38 +0000 (00:58 +0000)] 
Use haskeline, rather than editline, for line editing in ghci

10 years agoFix error handling
Ian Lynagh [Tue, 28 Apr 2009 23:28:48 +0000 (23:28 +0000)] 
Fix error handling
After the fix to #2500, we could get "Failing due to -Werror." but no
warnings printed. Now we don't fail in that case.

10 years agomove nofib settings here from ghc's config.mk
Simon Marlow [Tue, 28 Apr 2009 12:55:51 +0000 (12:55 +0000)] 
move nofib settings here from ghc's config.mk

10 years agoadd missing eventlog subdir
Simon Marlow [Tue, 28 Apr 2009 12:55:28 +0000 (12:55 +0000)] 
add missing eventlog subdir

10 years agomove runstdtest into nofib
Simon Marlow [Tue, 28 Apr 2009 12:45:05 +0000 (12:45 +0000)] 
move runstdtest into nofib

10 years agoimprove the finalizer callback error message
Simon Marlow [Tue, 28 Apr 2009 08:53:45 +0000 (08:53 +0000)] 
improve the finalizer callback error message

10 years agoAdd a header to all build system files:
Simon Marlow [Tue, 28 Apr 2009 08:52:33 +0000 (08:52 +0000)] 
Add a header to all build system files:

# -----------------------------------------------------------------------------
#
# (c) 2009 The University of Glasgow
#
# This file is part of the GHC build system.
#
# To understand how the build system works and how to modify it, see
#      http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
#      http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
#
# -----------------------------------------------------------------------------

10 years agomore cleaning
Simon Marlow [Tue, 28 Apr 2009 08:49:19 +0000 (08:49 +0000)] 
more cleaning

10 years agotodo updates
Simon Marlow [Mon, 27 Apr 2009 15:25:29 +0000 (15:25 +0000)] 
todo updates

10 years agoremove commentary that is now in the wiki
Simon Marlow [Mon, 27 Apr 2009 14:47:43 +0000 (14:47 +0000)] 
remove commentary that is now in the wiki

10 years agoremove ticket todos
Simon Marlow [Mon, 27 Apr 2009 14:44:06 +0000 (14:44 +0000)] 
remove ticket todos

10 years agorequire gcc 3.0+ (see #2770)
Simon Marlow [Mon, 27 Apr 2009 13:43:22 +0000 (13:43 +0000)] 
require gcc 3.0+ (see #2770)

10 years agoupdate build order comment
Simon Marlow [Mon, 27 Apr 2009 12:47:11 +0000 (12:47 +0000)] 
update build order comment

10 years agoEquality constraint solver is now externally pure
Manuel M T Chakravarty [Mon, 27 Apr 2009 14:03:16 +0000 (14:03 +0000)] 
Equality constraint solver is now externally pure
- This patch changes the equality constraint solver such that it does not
  instantiate any type variables that occur in the constraints that are to be
  solved (or in the environment).  Instead, it returns a bag of type bindings.
- If these type bindings (together with the other results of the solver) are
  discarded, solver invocation has no effect (outside the solver) and can be
  repeated (that's imported for TcSimplifyRestricted).
- For the type bindings to take effect, the caller of the solver needs to
  execute them.
- The solver will still instantiate type variables thet were created during
  solving (e.g., skolem flexibles used during type flattening).

  See also http://hackage.haskell.org/trac/ghc/wiki/TypeFunctionsSolving

10 years agoImprove the error message when we find a module in 2 places; trac #3183
Ian Lynagh [Sun, 26 Apr 2009 16:02:04 +0000 (16:02 +0000)] 
Improve the error message when we find a module in 2 places; trac #3183

10 years agoRemove a comment (a bug to close, that has now been closed)
Ian Lynagh [Sun, 26 Apr 2009 15:19:42 +0000 (15:19 +0000)] 
Remove a comment (a bug to close, that has now been closed)

10 years agoGHC new build system megapatch
Ian Lynagh [Sun, 26 Apr 2009 11:42:15 +0000 (11:42 +0000)] 
GHC new build system megapatch

10 years agoFix SPARC build, missing #include
Ben.Lippmeier@anu.edu.au [Sat, 25 Apr 2009 08:33:45 +0000 (08:33 +0000)] 
Fix SPARC build, missing #include

10 years agoFix a lint failure when we have a ! (# ... #) pattern in a where clause
Ian Lynagh [Fri, 24 Apr 2009 17:33:13 +0000 (17:33 +0000)] 
Fix a lint failure when we have a  ! (# ... #)  pattern in a where clause
This showed up when converting ds057 to follow the new bang pattern rules,
in #2806.

10 years agoDo the second part of #2806: Disallow unlifted types in ~ patterns
Ian Lynagh [Fri, 24 Apr 2009 15:05:19 +0000 (15:05 +0000)] 
Do the second part of #2806: Disallow unlifted types in ~ patterns

10 years agoTiny refactor
Ian Lynagh [Fri, 24 Apr 2009 14:02:27 +0000 (14:02 +0000)] 
Tiny refactor

10 years agoRequire a bang pattern when unlifted types are where/let bound; #3182
Ian Lynagh [Fri, 24 Apr 2009 12:47:54 +0000 (12:47 +0000)] 
Require a bang pattern when unlifted types are where/let bound; #3182
For now we only get a warning, rather than an error, because the alex
and happy templates don't follow the new rules yet.

10 years agoDon't short out top-level indirections if there's a INLINE/NOINLINE pragma
simonpj@microsoft.com [Fri, 24 Apr 2009 12:32:38 +0000 (12:32 +0000)] 
Don't short out top-level indirections if there's a INLINE/NOINLINE pragma

The top-level indirection-shorting, done in SimplCore.shortOutIndirections,
was accidentally nuking a NOINLINE pragma.  This patch adopts a slightly
more conservative approach to indirection-shorting, only doing so if
we do not thereby overwrite or lose some user-supplied pragmas.

10 years agoFix #3182: 64 bit FP value returned by C calls was getting trashed
Ben.Lippmeier@anu.edu.au [Fri, 24 Apr 2009 06:50:53 +0000 (06:50 +0000)] 
Fix #3182: 64 bit FP value returned by C calls was getting trashed
   movss instruction was being used to move the result into the
   destination register instead of movsd

10 years agoadd missing files (part of #3171 fix)
Simon Marlow [Fri, 24 Apr 2009 09:16:10 +0000 (09:16 +0000)] 
add missing files (part of #3171 fix)

10 years agoTiny optimisation to mkInlineMe
simonpj@microsoft.com [Fri, 24 Apr 2009 07:47:33 +0000 (07:47 +0000)] 
Tiny optimisation to mkInlineMe

10 years agoAdd EVENT_CREATE_SPARK_THREAD to replace EVENT_SPARK_TO_THREAD
Simon Marlow [Thu, 23 Apr 2009 14:19:40 +0000 (14:19 +0000)] 
Add EVENT_CREATE_SPARK_THREAD to replace EVENT_SPARK_TO_THREAD
Also some tidyups and renaming

10 years agoadd getOrSetSignalHandlerStore, much like getOrSetTypeableStore
Simon Marlow [Thu, 23 Apr 2009 11:30:02 +0000 (11:30 +0000)] 
add getOrSetSignalHandlerStore, much like getOrSetTypeableStore
Part of the fix for #3171

10 years agodon't overwrite io_manager_pipe if it is already set
Simon Marlow [Thu, 23 Apr 2009 11:29:39 +0000 (11:29 +0000)] 
don't overwrite io_manager_pipe if it is already set
Part of the fix for #3171

10 years agoSimplify the placeholder binding for naughty record selectors
simonpj@microsoft.com [Thu, 23 Apr 2009 09:44:01 +0000 (09:44 +0000)] 
Simplify the placeholder binding for naughty record selectors

10 years agoFix Trac #3176: intercept naughty record selectors
simonpj@microsoft.com [Thu, 23 Apr 2009 09:42:37 +0000 (09:42 +0000)] 
Fix Trac #3176: intercept naughty record selectors

When making record selectors into ordinary functions (rather than
magial implicit Ids) I forgot that they could therefore show up in
the *local* TcEnv, not the global one.  This fixes that problem,
and thereby Trac #3176.

10 years agoBetter pretty-printing for IdDetails
simonpj@microsoft.com [Thu, 23 Apr 2009 09:39:45 +0000 (09:39 +0000)] 
Better pretty-printing for IdDetails

10 years agoFIX #3166: include the fixity of classes and type synonyms in their fingerprints
Simon Marlow [Tue, 21 Apr 2009 13:56:24 +0000 (13:56 +0000)] 
FIX #3166: include the fixity of classes and type synonyms in their fingerprints

10 years agoFIX #2682: banish silly cases of the "module Foo is not loaded" error
Simon Marlow [Tue, 21 Apr 2009 13:10:38 +0000 (13:10 +0000)] 
FIX #2682: banish silly cases of the "module Foo is not loaded" error

In GHCi if you say 'import Foo' meaning to load a package module Foo,
and Foo.hs is found on the search path, then GHCi replies "module Foo
is not loaded", because it knows Foo refers to the source file rather
than the package module, and you haven't loaded that module with
:load.

This is consistent with the usual module-finding semantics.  However,
it isn't particularly useful.  And it leads to silly problems like not
being able to start GHCi when you happen to be sitting in
libraries/base, because GHCi thinks the Prelude hasn't been loaded.

So now I've made a slight change to the way that 'import M' works: if
M is loaded, then it refers to the loaded module, otherwise it looks
for a package module M.  This does what the reporter of #2682 wanted,
and since it turns an error condition into meaningful behaviour it
can't break anything.

The only undesirable consequence is that 'import M' might refer to a
different M than ':load M'.  Hopefully that won't lead to confusion.

10 years agoFIX #2500: Don't log warnings in getHeader
Simon Marlow [Tue, 21 Apr 2009 10:00:39 +0000 (10:00 +0000)] 
FIX #2500: Don't log warnings in getHeader

10 years agoadd a DO NOT EDIT comment
Simon Marlow [Tue, 21 Apr 2009 09:46:06 +0000 (09:46 +0000)] 
add a DO NOT EDIT comment

10 years agoFIX #3153: we lost an EOF sentinel in the event of a lexical error
Simon Marlow [Tue, 21 Apr 2009 09:45:58 +0000 (09:45 +0000)] 
FIX #3153: we lost an EOF sentinel in the event of a lexical error

10 years agoFIX #2845: Allow breakpoints on expressions with unlifted type
Simon Marlow [Mon, 20 Apr 2009 14:25:25 +0000 (14:25 +0000)] 
FIX #2845: Allow breakpoints on expressions with unlifted type

It turns out we can easily support breakpoints on expressions with
unlifted types, by translating

  case tick# of _ -> e

into

  let f = \s . case tick# of _ -> e
  in  f realWorld#

instead of just a plain let-binding.  This is the same trick that GHC
uses for abstracting join points of unlifted type.

In #2845, GHC has eta-expanded the tick expression, changing the
result type from IO a to (# State#, a #), which was the reason the
tick was suddenly being ignored.  By supporting ticks on unlifted
expressions we can make it work again, although some confusion might
arise because _result will no longer be available (it now has
unboxed-tuple type, so we can't bind it in the environment).  The
underlying problem here is that GHC does transformations like
eta-expanding the tick expressions, and there's nothing we can do to
prevent that.