Hog
Я хз. Но вайл коварен
Hog
Я такое на рекурсии делаю
Hog
У асинксека есть yield!
Roman
https://gist.github.com/eglyph/8cabd985e5b1daf49c94eed66d0cdb60
а что возвращает MoveNextAsync? И ты кстати там текущий элемент йилдишь, только когда есть следующий. Т.е. последний элемент коллекции потеряется
Vladimir
AsyncSeq.ofAsyncEnum
Михаил
Господа, а есть тут кто шарит за Haskell немного?
Михаил
Я пытась поставить себе каку-то штуку, называется "intero-0.1.40"
Михаил
А она опирается на ghc <= 8.6.5
Михаил
А у меня, судя по всему, ghc 8.8.3
Михаил
Весь день вожусь, ничего не понимаю.
Roman
фак, сорян. Заработался
Михаил
Всё норм.
Roman
призови @DogeShibu
Михаил
@DogeShibu
Ayrat
А у меня, судя по всему, ghc 8.8.3
Ты надеюсь стаком пользуешься?
Ayrat
Он сам должен определять гхц требуемый если у тебя не написано что надо брать глобальный
Михаил
Я просто ещё ничего не понимаю...
Михаил
Стаком пользуюсь, кажется.
Михаил
>stack install intero Error: While constructing the build plan, the following exceptions were encountered: In the dependencies for intero-0.1.40: ghc-8.8.3 from stack configuration does not match >=7.8 && <=8.6.5 (latest matching version is 8.6.5) needed since intero is a build target. Some different approaches to resolving this: * Set 'allow-newer: true' in /home/bearpro/.stack/config.yaml to ignore all version constraints and build anyway. * Recommended action: try adding the following to your extra-deps in /home/bearpro/.stack/global-project/stack.yaml: - ghc-8.6.5@sha256:3591225289bdf8cf8f62b10f2aebc9ea3e25a15294545a5312a419e0317784f9,13976 Plan construction failed.
Hog
Так тебе ж чорным по английскому написали, как править
Ayrat
где именно, не помнишь?
Чуть ниже написали
Михаил
Error: While constructing the build plan, the following exceptions were encountered: In the dependencies for ghc-8.6.5: base-4.13.0.0 from stack configuration does not match <0 && ==4.12.* ghc-boot-8.8.3 from stack configuration does not match ==8.6.5 (latest matching version is 8.6.5) ghc-boot-th-8.8.3 from stack configuration does not match ==8.6.5 (latest matching version is 8.6.5) ghc-heap-8.8.3 from stack configuration does not match ==8.6.5 ghci-8.8.3 from stack configuration does not match ==8.6.5 (latest matching version is 8.6.5) template-haskell-2.15.0.0 from stack configuration does not match ==2.14.* (latest matching version is 2.14.0.0) time-1.9.3 from stack configuration does not match >=1.4 && <1.9 (latest matching version is 1.8.0.4) needed due to intero-0.1.40 -> ghc-8.6.5 Some different approaches to resolving this: * Set 'allow-newer: true' in /home/bearpro/.stack/config.yaml to ignore all version constraints and build anyway. * Recommended action: try adding the following to your extra-deps in /home/bearpro/.stack/global-project/stack.yaml: - ghc-boot-8.6.5@sha256:8b608d2f36aad99a37a7d1b70319d43195128de6485b15fa7d4638b2942ce2a2,1772 - ghc-boot-th-8.6.5@sha256:c120f0d15944e770e2b698f5139f0003a86f9e25e5d1a7c6631e442129232748,1075 - ghci-8.6.5@sha256:886e52e6ab43b0de39fd5d92d8d1a5d7fac04c0f145c62b39baae04476208bd9,2126 - template-haskell-2.14.0.0@sha256:e3747ae9e2aeec160196706dd470b5fc4175678ec4136bcec9124534f67d83bc,1724 - time-1.8.0.4@sha256:3f6eddf238b828eb4f82683acce1c3afe64784f0d20114239b738c123316c85c,5494 Plan construction failed.
Hog
Предлагаю чуть сбавить темп. Сейчас всё запутается
Ayrat
Короче, у тебя пакеты взаимоисключающие
Ayrat
Я бы поставил allow-newer
Михаил
Не получилось.
Михаил
Сейчас покажу что вышло
Doge
Error: While constructing the build plan, the following exceptions were encountered: In the dependencies for ghc-8.6.5: base-4.13.0.0 from stack configuration does not match <0 && ==4.12.* ghc-boot-8.8.3 from stack configuration does not match ==8.6.5 (latest matching version is 8.6.5) ghc-boot-th-8.8.3 from stack configuration does not match ==8.6.5 (latest matching version is 8.6.5) ghc-heap-8.8.3 from stack configuration does not match ==8.6.5 ghci-8.8.3 from stack configuration does not match ==8.6.5 (latest matching version is 8.6.5) template-haskell-2.15.0.0 from stack configuration does not match ==2.14.* (latest matching version is 2.14.0.0) time-1.9.3 from stack configuration does not match >=1.4 && <1.9 (latest matching version is 1.8.0.4) needed due to intero-0.1.40 -> ghc-8.6.5 Some different approaches to resolving this: * Set 'allow-newer: true' in /home/bearpro/.stack/config.yaml to ignore all version constraints and build anyway. * Recommended action: try adding the following to your extra-deps in /home/bearpro/.stack/global-project/stack.yaml: - ghc-boot-8.6.5@sha256:8b608d2f36aad99a37a7d1b70319d43195128de6485b15fa7d4638b2942ce2a2,1772 - ghc-boot-th-8.6.5@sha256:c120f0d15944e770e2b698f5139f0003a86f9e25e5d1a7c6631e442129232748,1075 - ghci-8.6.5@sha256:886e52e6ab43b0de39fd5d92d8d1a5d7fac04c0f145c62b39baae04476208bd9,2126 - template-haskell-2.14.0.0@sha256:e3747ae9e2aeec160196706dd470b5fc4175678ec4136bcec9124534f67d83bc,1724 - time-1.8.0.4@sha256:3f6eddf238b828eb4f82683acce1c3afe64784f0d20114239b738c123316c85c,5494 Plan construction failed.
А есть ссылка на весь stack файл
Doge
?
Михаил
А что это такое я не понял ещё)
Михаил
Вроде я же пытаюсь глобальный инструмент поставить, нет?
Михаил
Или что это вообще...
Shub
Или что это вообще...
это вообще чат по эфшарп
Михаил
У меня в голове только аналогия с dotnet tool просто
Ayrat
это вообще чат по эфшарп
Ну вообще это флудильня
Михаил
это вообще чат по эфшарп
Ну у меня нет ссылок на чат про haskell(
Shub
... по эфшарп
Roman
возвращает от TaskResult<bool>
вот это что ли? https://docs.microsoft.com/en-us/dotnet/api/microsoft.enterprisemanagement.monitoring.taskresult?view=sc-sm-dotnet-2016
Shub
да. ну вроде AsyncSeq.ofAsyncEnum решает проблему на корню
Shub
Ну у меня нет ссылок на чат про haskell(
https://t.me/haskell_learn - только тебе ОЗК потребуется
Михаил
В общем, если поставить allow-newer: true, то при выполнении stack install intero я получаю ошибку и код выхода один. Там вовод довольно большой, но он кажется пытается что-то скомпилировать и сыпится при этом (разумеется, ЯННП, а вывод там довольно большой).
Ayrat
Сразу все чаты найдёшь
Shub
вот это что ли? https://docs.microsoft.com/en-us/dotnet/api/microsoft.enterprisemanagement.monitoring.taskresult?view=sc-sm-dotnet-2016
они в превью поменяли логику. раньше там было поле .HasNextResult, которое было синхронное и просто значение, и был метод MoveNext: Task<'t>
Shub
а щас там MoveNextAsync: ValueResult<bool> и этот Current
Roman
че-т месиво какое-то
Shub
ни в одном асинхронном ce нет возможности вызвать асинхронный код в while
Shub
че-т месиво какое-то
в С# вроде завезли await foreach, и вроде это заточено именно под этот синтаксис - моя гипотеза
Ayrat
Можно же
Shub
как?
Roman
собсно мейлбоксы работают в такой петле и ожидают сообщение через байндинг
Shub
async { while true do let! r = async.Return 5 printfn "%A" r }
попробуй вместо true вызывать любую функцию типа 'a -> Async<bool>
Roman
а, ну дыкть
Roman
ежели там ждут бул, а вы асинк бул пихаете — ну это вы типы попутали. Сэр.
Hog
Нахера вайл
Hog
Есть рекурсия
Shub
нет, я хочу, чтобы while проэвалюировал async<bool> и взял результат
Roman
через мутацию
Shub
думал написать свой экстеншен даже
Shub
через мутацию
ну я так и сделал
Shub
не понравилось
Roman
нЕ фУнКцИоНалЬнО?
Roman
Есть рекурсия
во, по-пацански
Hog
Да там всё сразу просто
Shub
нЕ фУнКцИоНалЬнО?
не то, чтобы нефункционально, просто на ровном месте ловишь такие баги, как ты подметил
Shub
причем он бы там просидел очень долго, потому что в 99% случаев мне вся последовательность не нужна
Roman
не то, чтобы нефункционально, просто на ровном месте ловишь такие баги, как ты подметил
кстати о багах — там сразу смело вызывается moveNextAsync — перед этим не надо проверять, что следующий элемент есть?
Vladimir
Есть рекурсия
ты на каждом обороте рекурсии создаешь asyncSeq и его через yield! возвращаешь?
Hog
Да!
Vladimir
Doge
А что это такое я не понял ещё)
А, так ты просто intero пытаешься поставить?