Я генерирую плату тральщика и хочу сгенерировать плату, основываясь на том, где первый клик (фактически не клик, просто строка, написанная в CMD, представляющая щелчок) было сделано. Это проблема, хотя, поскольку мне приходится смешивать монады Gen и IO. Есть ли способ конвертировать Gen a в IO a?Принимая значение от монады Gen до монады IO
Я нашел this функция. Что будет делать именно то, что я хочу. Но он не доступен для импорта.
я понял, что я могу использовать образец»: : Gen a -> IO [a] и возьмите первый результат. Но это немного уродливый хак. – SiXoS
@Sibi Это монада из модуля QuickCheck, источник здесь: [link] (http://hackage.haskell.org/package/QuickCheck-2.7.6/docs/src/Test-QuickCheck-Gen.html#Gen) – SiXoS
Он доступен для импорта. Просто «import Test.QuickCheck.Gen'. –