2014-12-10 4 views
0

Я генерирую плату тральщика и хочу сгенерировать плату, основываясь на том, где первый клик (фактически не клик, просто строка, написанная в CMD, представляющая щелчок) было сделано. Это проблема, хотя, поскольку мне приходится смешивать монады Gen и IO. Есть ли способ конвертировать Gen a в IO a?Принимая значение от монады Gen до монады IO

Я нашел this функция. Что будет делать именно то, что я хочу. Но он не доступен для импорта.

+0

я понял, что я могу использовать образец»: : Gen a -> IO [a] и возьмите первый результат. Но это немного уродливый хак. – SiXoS

+0

@Sibi Это монада из модуля QuickCheck, источник здесь: [link] (http://hackage.haskell.org/package/QuickCheck-2.7.6/docs/src/Test-QuickCheck-Gen.html#Gen) – SiXoS

+0

Он доступен для импорта. Просто «import Test.QuickCheck.Gen'. –

ответ

2

я понял, что с помощью Gen была плохая идея, и теперь используют StdGen вместо

Это не только более практичным, в моем случае, но и создает более хаотичность

Смежные вопросы