Size: a a a

2021 March 24

[

[BRM]White Rabbit in Haskell
прикольненько.
Можно точно знать, в каких функциях налажал
источник

MK

Maxim Koltsov in Haskell
Во всех
источник

[

[BRM]White Rabbit in Haskell
Ну это само собой
источник

[

[BRM]White Rabbit in Haskell
А где налажал что упало - смотри в IO
источник

a

adam in Haskell
да со специальностью в целом
источник

[

[BRM]White Rabbit in Haskell
ага. Надо было в вебкам идти
источник

к

кана in Haskell
[BRM]White Rabbit
Я правильно понимаю, внутри IO-функций можно использовать чистые функции, а внутри чистых IO - нельзя?
ну да, в этом и смысл весь
источник

a

adam in Haskell
чисто там где не пачкали, а не там где убрали
источник

O

Ortofax in Haskell
является ли чистой функция, возвращающая [IO ()]?
источник

IK

Ilya Kos in Haskell
Ortofax
является ли чистой функция, возвращающая [IO ()]?
Да
источник

к

кана in Haskell
можно еще больше ограничить скоуп возможностей

class Monad m => MonadFS m where
 readF :: FilePath -> m ByteString
 writeF :: FilePath -> ByteString -> m ()

myAction :: MonadFS m => m ()
myAction = do
 a <- readF "a"
 writeF "b" a

instance MonadFS IO where
 readF = BS.readFile
 writeF = BS.writeFile

main = myAction -- но мы точно знаем, что в myAction не может быть ничего из эффектов кроме работы с файлами
источник

[

[BRM]White Rabbit in Haskell
Ortofax
является ли чистой функция, возвращающая [IO ()]?
ну типа она возвращает лист грязных функций
источник

O

Ortofax in Haskell
отлично. а функция, возвращающая Identity (IO ())?
источник

IK

Ilya Kos in Haskell
Ortofax
отлично. а функция, возвращающая Identity (IO ())?
)
источник

к

кана in Haskell
id :: a -> a
id x = x

idIO :: IO a -> IO a
idIO = id
источник

[

[BRM]White Rabbit in Haskell
прЕколы из теории категорий
источник

IK

Ilya Kos in Haskell
Строго говоря, a -> IO () — чистая функция, т к она всегда возвращает одно и то же значение для одинаковых аргументов
источник

O

Ortofax in Haskell
именно. любая функция чистая, если там нет unsafePerformIO и подобного
источник

IK

Ilya Kos in Haskell
Ilya Kos
Строго говоря, a -> IO () — чистая функция, т к она всегда возвращает одно и то же значение для одинаковых аргументов
Тут вопрос упирается в абстракции которыми ты оперируешь, с какой стороны смотришь на код
источник

a

adam in Haskell
не воспринимаю функцию за чистую чья детерминистичность не доказана формально
источник