Я не уверен, куда вы идете с частью "без использования >>
" (если это действительно точка, используйте примечание do
), но вы можете легко написать вспомогательную функцию, которая применяет две функции последовательно на тот же вход:
tee f g s = f s >> g s
func = tee putStr print "..."
Кроме того, чтобы просто не повторять строку, локальная переменная с let
или where
, вероятно, будет самой простой:
let s = "..."
in putStr s >> print s