You can declare a commit using multi-line definitions such as
>>> :{ >>> let infixl 7 *** >>> (f *** g) (a,b) = (fa, gb) >>> :} >>> (negate *** show) (1,2) (-1,"2")
Edit: Although, interestingly, the fix does not appear when you ask GHCI about a function
>>> :i *** (***) :: (a -> a') -> (b -> b') -> (a, b) -> (a', b') -- Defined at <interactive>:10:8
compared with
>>> :i && (&&) :: Bool -> Bool -> Bool -- Defined in `GHC.Classes' infixr 3 &&
source share