I’d like to make a suggestion to the GHCi developers. I believe the GHCi command to invoke shell commands (:! <command>) is a critical part of using GHCi, and it is too much of a waste of time to type that over and over.
Solution:
Replace :! <command> with :: <command> . This simple change will save you from having to switch shift keys and stretch that pinky to ! every time. This is much simpler to memorize and execute, is easier on the fingers, and is not already taken. It only requires a minor modification to the input reader code.
Where is your pinky? I write ‘!’ with my middle finger and my pinky on shift. Oh, wait do you use both your pinkies? The left one on ‘!’ and the right one on shift? I feel like I can type ‘:!’ just as fast as ‘::’.