I don't know whether this is a problem with stack or with GHCI. But suppose you've got a bunch of modules loaded, and the prompt is hard to read, so you set it to something simpler like "> ". If you then use ":{" to enter a multi-line block of code, the module names appear again at the prompt, making the block you're entering very difficult to read.

Here's an example:

)
Ok, 55 modules loaded.
Loaded GHCi configuration from /tmp/haskell-stack-ghci/d770186e/ghci-script
*Vivid.UGens.UserInteraction Vivid Vivid.Actions Vivid.Actions.Class Vivid.Acti
ons.IO Vivid.Actions.NRT Vivid.Actions.Scheduled Vivid.ByteBeat Vivid.Envelopes
Vivid.NoPlugins Vivid.OSC Vivid.OSC.Util Vivid.Randomness Vivid.SCServer Vivid
.SCServer.Connection Vivid.SCServer.State Vivid.SCServer.Types Vivid.SynthDef V
ivid.SynthDef.FromUA Vivid.SynthDef.Literally Vivid.SynthDef.ToSig Vivid.SynthD
ef.Types Vivid.SynthDef.TypesafeArgs Vivid.UGens Vivid.UGens.Algebraic Vivid.UG
ens.Analysis Vivid.UGens.Args Vivid.UGens.Buffer Vivid.UGens.Conversion Vivid.U
Gens.Convolution Vivid.UGens.Delays Vivid.UGens.Demand Vivid.UGens.Dynamics Viv
id.UGens.Envelopes Vivid.UGens.Examples Vivid.UGens.FFT Vivid.UGens.Filters Viv
id.UGens.Filters.BEQSuite Vivid.UGens.Filters.Linear Vivid.UGens.Filters.Nonlin
ear Vivid.UGens.Filters.Pitch Vivid.UGens.Generators.Chaotic Vivid.UGens.Genera
tors.Deterministic Vivid.UGens.Generators.Granular Vivid.UGens.Generators.Singl
eValue Vivid.UGens.Generators.Stochastic Vivid.UGens.InOut Vivid.UGens.Info Viv
id.UGens.Maths Vivid.UGens.Multichannel Vivid.UGens.Random Vivid.UGens.Reverbs
Vivid.UGens.SynthControl Vivid.UGens.Triggers Vivid.UGens.Undocumented Vivid.UG
ens.UserInteraction> :set prompt "> "
> 3+1
4
> :{
*Vivid.UGens.UserInteraction Vivid Vivid.Actions Vivid.Actions.Class Vivid.Acti
ons.IO Vivid.Actions.NRT Vivid.Actions.Scheduled Vivid.ByteBeat Vivid.Envelopes
Vivid.NoPlugins Vivid.OSC Vivid.OSC.Util Vivid.Randomness Vivid.SCServer Vivid
.SCServer.Connection Vivid.SCServer.State Vivid.SCServer.Types Vivid.SynthDef V
ivid.SynthDef.FromUA Vivid.SynthDef.Literally Vivid.SynthDef.ToSig Vivid.SynthD
ef.Types Vivid.SynthDef.TypesafeArgs Vivid.UGens Vivid.UGens.Algebraic Vivid.UG
ens.Analysis Vivid.UGens.Args Vivid.UGens.Buffer Vivid.UGens.Conversion Vivid.U
Gens.Convolution Vivid.UGens.Delays Vivid.UGens.Demand Vivid.UGens.Dynamics Viv
id.UGens.Envelopes Vivid.UGens.Examples Vivid.UGens.FFT Vivid.UGens.Filters Viv
id.UGens.Filters.BEQSuite Vivid.UGens.Filters.Linear Vivid.UGens.Filters.Nonlin
ear Vivid.UGens.Filters.Pitch Vivid.UGens.Generators.Chaotic Vivid.UGens.Genera
tors.Deterministic Vivid.UGens.Generators.Granular Vivid.UGens.Generators.Singl
eValue Vivid.UGens.Generators.Stochastic Vivid.UGens.InOut Vivid.UGens.Info Viv
id.UGens.Maths Vivid.UGens.Multichannel Vivid.UGens.Random Vivid.UGens.Reverbs
Vivid.UGens.SynthControl Vivid.UGens.Triggers Vivid.UGens.Undocumented Vivid.UG
ens.UserInteraction| f = let y = 3
*Vivid.UGens.UserInteraction Vivid Vivid.Actions Vivid.Actions.Class Vivid.Acti
ons.IO Vivid.Actions.NRT Vivid.Actions.Scheduled Vivid.ByteBeat Vivid.Envelopes
Vivid.NoPlugins Vivid.OSC Vivid.OSC.Util Vivid.Randomness Vivid.SCServer Vivid
.SCServer.Connection Vivid.SCServer.State Vivid.SCServer.Types Vivid.SynthDef V
ivid.SynthDef.FromUA Vivid.SynthDef.Literally Vivid.SynthDef.ToSig Vivid.SynthD
ef.Types Vivid.SynthDef.TypesafeArgs Vivid.UGens Vivid.UGens.Algebraic Vivid.UG
ens.Analysis Vivid.UGens.Args Vivid.UGens.Buffer Vivid.UGens.Conversion Vivid.U
Gens.Convolution Vivid.UGens.Delays Vivid.UGens.Demand Vivid.UGens.Dynamics Viv
id.UGens.Envelopes Vivid.UGens.Examples Vivid.UGens.FFT Vivid.UGens.Filters Viv
id.UGens.Filters.BEQSuite Vivid.UGens.Filters.Linear Vivid.UGens.Filters.Nonlin
ear Vivid.UGens.Filters.Pitch Vivid.UGens.Generators.Chaotic Vivid.UGens.Genera
tors.Deterministic Vivid.UGens.Generators.Granular Vivid.UGens.Generators.Singl
eValue Vivid.UGens.Generators.Stochastic Vivid.UGens.InOut Vivid.UGens.Info Viv
id.UGens.Maths Vivid.UGens.Multichannel Vivid.UGens.Random Vivid.UGens.Reverbs
Vivid.UGens.SynthControl Vivid.UGens.Triggers Vivid.UGens.Undocumented Vivid.UG
ens.UserInteraction|   in y + 1
*Vivid.UGens.UserInteraction Vivid Vivid.Actions Vivid.Actions.Class Vivid.Acti
ons.IO Vivid.Actions.NRT Vivid.Actions.Scheduled Vivid.ByteBeat Vivid.Envelopes
Vivid.NoPlugins Vivid.OSC Vivid.OSC.Util Vivid.Randomness Vivid.SCServer Vivid
.SCServer.Connection Vivid.SCServer.State Vivid.SCServer.Types Vivid.SynthDef V
ivid.SynthDef.FromUA Vivid.SynthDef.Literally Vivid.SynthDef.ToSig Vivid.SynthD
ef.Types Vivid.SynthDef.TypesafeArgs Vivid.UGens Vivid.UGens.Algebraic Vivid.UG
ens.Analysis Vivid.UGens.Args Vivid.UGens.Buffer Vivid.UGens.Conversion Vivid.U
Gens.Convolution Vivid.UGens.Delays Vivid.UGens.Demand Vivid.UGens.Dynamics Viv
id.UGens.Envelopes Vivid.UGens.Examples Vivid.UGens.FFT Vivid.UGens.Filters Viv
id.UGens.Filters.BEQSuite Vivid.UGens.Filters.Linear Vivid.UGens.Filters.Nonlin
ear Vivid.UGens.Filters.Pitch Vivid.UGens.Generators.Chaotic Vivid.UGens.Genera
tors.Deterministic Vivid.UGens.Generators.Granular Vivid.UGens.Generators.Singl
eValue Vivid.UGens.Generators.Stochastic Vivid.UGens.InOut Vivid.UGens.Info Viv
id.UGens.Maths Vivid.UGens.Multichannel Vivid.UGens.Random Vivid.UGens.Reverbs
Vivid.UGens.SynthControl Vivid.UGens.Triggers Vivid.UGens.Undocumented Vivid.UG
ens.UserInteraction| :}
> f
4
>


--
Jeff Brown | Jeffrey Benjamin Brown
Website   |   Facebook   |   LinkedIn(spammy, so I often miss messages here)   |   Github