Skip to content

`:load *` and `:add *` misbehave in presence of `-fobject-code`

The documentation states for the *-forms of :add and :load that

Normally pre-compiled code for a module will be loaded if available, or otherwise the module will be compiled to byte-code. Using the * prefix forces a module to be loaded as byte-code.

However, this seems to be ignored when -fobject-code has been enabled. In that case, the compiled code is always used, regardless of whether the *-form is used.

Having -fobject-code enabled is very useful for large projects as it cuts down loading times, whereas being able to use the *-forms on individual modules from the target set allows for being inside the module context, which is very useful for integration with Emacs (and IDEs), or for being able to set breakpoints.

Trac metadata
Trac field Value
Version 7.6.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component GHCi
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information