Aleksei (astynax)
дальнейшие flip не меняют тип
Alex
Помогите пожалуйста
Alex
xs <- getArgs
str <- unsafePerformIO $ readFile $ (xs !! 0)
Alex
Где ошибка
Aleksei (astynax)
Воу! Зачем unsafePerformIO?
Aleksei (astynax)
Всё в IO же и так
Aleksei (astynax)
xs <- getArgs
str <- readFile $ (xs !! 0)
Alex
У меня там дальше функция которая работает со стрингой а не ио стрингой
Aleksei (astynax)
str, это String
Alex
Точно
Alex
Блин
Alex
Thx
Aleksei (astynax)
unsafePerformIO не нужно делать никогда! Кроме тех случаев, когда это действительно нужно (ну очень редко и практически всегда - на top level)
Alex
А это и был топ левел
Alex
Там все ок
Alex
Я просто забыл его убрать
IC
LTS-12 будет с 8.4 или опять с 8.2?
Andrei
8.4 вроде
Aleksei (astynax)
top level, это
module Foo where
a :: Int
a = unsafePerformIO $ randomRIO (0, 10)
Aleksei (astynax)
вот определение a - на top level находится
Aleksei (astynax)
нет, в ghci можно делать байнд
Aleksei (astynax)
В GHCi всё находится в неявном do-блоке монады IO
Aleksei (astynax)
Но специфическом - объявлять типы можно, например
Aleksei (astynax)
Тут любят советовать unsafePerformIO, вот от этого получаются подобные казусы
Aleksei (astynax)
Aleksei (astynax)
ага
Alex
Спасибо всем
Aliester
Aliester
где в описании технологии какой читал
Alexander
я не согласен с таким подходом, но ок
Alexander
тут в канале любят говорить, что такая штука есть, но в этой задаче оно не нужно
Alexander
и добавлять в какого рода задачах оно может быть нужно
Andrei
unsafePerformIO в недрах Network.Socket есть. но и там оно форсится.
Alexander
когда я последний раз говорил про unsafePerformIO , спрашивали про задачу, которая именно им и решается, например
Alexander
другое дело, что человек хотел не то, что спрашивал
Alexander
но мое дело сказать что задача скорее всего не верна, что должна быть та, и решается так, а спрошенное тоже имеет решение
Alexander
я помню как у меня бобмило, когда я пришел на #haskell спросить про #-обьекты, и мне там хором стали доказывать, что оно мне не надо
Alexander
учитывая, что именно это мне и было нужно
Kirill
а что такое "#-обьекты"?
Алексей
OverloadedLabels?
Kirill
@qnikst ^
A64m
у которых тип кайнда # видимо
Kirill
объекты ~ типы чтоль?
A64m
значения, населяющие типы
Kirill
а, значения, спсб
Leonid 🦇
что-то Тони совсем подпалило https://github.com/tonymorris/do-not-use-stack
Aliester
Aliester
лаконичность сестра таланта
Aleksei (astynax)
Aleksei (astynax)
Cheese
политика одной хаскельной компании
Every programmer that uses unsafePerformIO without an accompanying proof will have to spend a night in the dungeon.
https://www.fpcastle.com/
Andrei
Alexander
Kai
Kai
Прямо сейчас удаляю стак
Leonid 🦇
adam
Warren
может кто-нибудь подсказать хороший русский перевод для термина "equational reasoning"?
Dmitry
Эквациональные рассуждения?
Dmitry
(простите)
Cheese
Warren
блин. я думал только гугл транслейт так надо мной пошутил
Warren
но ок, спасибо. словарик полезен
Vladislav
чего как "суждение равенствами" не перевели 😒
Kirill
и за это будете осуждены...
Cheese
Aliester
равностные суждения
Vladislav
понятно, что в Wiki оно попало как в источнике (иначе бы я просто молча поправил Wiki)
Cheese
я бы перевёл "(рас)суждение в уравнениях"