The :{
instruction begins multi-line mode and :}
ends it. In multi-line mode GHCi will interpret newlines as semicolons, not as the end of an instruction.
ghci> :{
ghci| myFoldr f z [] = z
ghci| myFoldr f z (y:ys) = f y (myFoldr f z ys)
ghci| :}
ghci> :t myFoldr
myFoldr :: (a -> b -> b) -> b -> [a] -> b