Я провожу некоторые эксперименты в GHCi, и у меня есть довольно долгая (5 минут) операция, которую я пытаюсь настроить. Результат начинает распечатываться на полпути, и я часто могу сказать, что мой алгоритм еще не настроен правильно через 1 минуту или меньше, поэтому я отменяю операцию. Но когда я нахожу результат, я хочу, чтобы он продолжался до конца, а затем также использовал его. Однако, если я назначу его при запуске, я не увижу, как он обрабатывается. Есть ли способ получить доступ к результату предыдущего выражения, введенного в GHCi?
Могу ли я в GHCi использовать результат предыдущего выражения?
comment
book.realworldhaskell.org/read/getting-started.html#x_U2
- person Gene T   schedule 08.06.2013
Ответы (1)
GHCi имеет специальную переменную it для этой цели.
Prelude> 1
1
Prelude> it
1
Причина этого, как описано в документах GHCi. заключается в том, что выражения, не относящиеся к вводу/выводу, ведут себя так
someExpr ==> let it = someExpr
print it
Если бы someExpr было IO, то у нас было бы
it <- someExpr
print it
поэтому it всегда должно быть результатом вашего предыдущего выражения.
person
Daniel Gratzer
schedule
06.06.2013