Size: a a a

2020 October 25

A

Aleksandr Khristenko in fprog_spb
Jerzy Syrowiecki
именно это и проблема, что компилятор не знает
Кстати, а если в хаскеле использовать unsafePerformIO то компилятор это как-то учитывать будет?
источник

JS

Jerzy Syrowiecki in fprog_spb
Aleksandr Khristenko
Кстати, а если в хаскеле использовать unsafePerformIO то компилятор это как-то учитывать будет?
из коробки никак. есть режим Safe, который это учитывает, но им почти никто не пользуется
источник

JS

Jerzy Syrowiecki in fprog_spb
то есть если вы хотите использовать Safe Haskell, то скорее всего, вам будет дешевле написать DSL
источник

JS

Jerzy Syrowiecki in fprog_spb
впрочем, зависит от задачи
источник

A

Aleksandr Khristenko in fprog_spb
Jerzy Syrowiecki
из коробки никак. есть режим Safe, который это учитывает, но им почти никто не пользуется
Он не учитывает. От запрещает эту функцию.
Но тогда это от скалы не особенно отличается, если рассмативать скаловские ио как unsafePerform.
источник

JS

Jerzy Syrowiecki in fprog_spb
в Safe Haskell всё ещё можно использовать явное IO
источник

JS

Jerzy Syrowiecki in fprog_spb
Aleksandr Khristenko
Он не учитывает. От запрещает эту функцию.
Но тогда это от скалы не особенно отличается, если рассмативать скаловские ио как unsafePerform.
а в Скале разве есть ограничения на I/O? там же каждая строчка всегда unsafe
источник

JS

Jerzy Syrowiecki in fprog_spb
в Хаскеле unsafe хотя бы можно запретить с помощью Safe или линтера
источник

A

Aleksandr Khristenko in fprog_spb
Jerzy Syrowiecki
а в Скале разве есть ограничения на I/O? там же каждая строчка всегда unsafe
Нет.
Я к тому, что в обычном хаскеле тоже каждая строчка может быть unsafe за счет unsafePerformIO.
А вообще не стоит, наверное, продолжать спор.
источник

JS

Jerzy Syrowiecki in fprog_spb
Aleksandr Khristenko
Нет.
Я к тому, что в обычном хаскеле тоже каждая строчка может быть unsafe за счет unsafePerformIO.
А вообще не стоит, наверное, продолжать спор.
в Хаскеле это явно и проверяемо, а в Скале и Бэйсике — нет
источник

Y

Yuuri in fprog_spb
Aleksandr Khristenko
Нет.
Я к тому, что в обычном хаскеле тоже каждая строчка может быть unsafe за счет unsafePerformIO.
А вообще не стоит, наверное, продолжать спор.
Технически, в хаскеле каждая строчка может быть unsafe ещё за счёт undefined, частичных функций и прочих боттомов. Safety - это всё-таки не только чистота
источник

A

Aleksey @cheatex in fprog_spb
Alexander Tchitchigin
Да, чистых функций нет, гарантий никаких, null и исключения откуда попало вылетают... 😒
прям вот никаких? код делает случайные вещи?
источник
2020 October 26

AT

Alexander Tchitchigi... in fprog_spb
Aleksey @cheatex
прям вот никаких? код делает случайные вещи?
С таким подходом и в C++ дофига гарантий. Программа же вообще делает ровно то, что вы написали. 🤷‍♀
источник

АГ

Александр Гранин... in fprog_spb
Alexander Tchitchigin
С таким подходом и в C++ дофига гарантий. Программа же вообще делает ровно то, что вы написали. 🤷‍♀
Стоит упомянуть, что в С++ есть аж 4 подъязыка. Или даже 5, и они по-разному safe
источник

AT

Alexander Tchitchigi... in fprog_spb
Александр Гранин
Стоит упомянуть, что в С++ есть аж 4 подъязыка. Или даже 5, и они по-разному safe
Ну вот: 4-5 языков, и все safe! Явно же лучше, чем Haskell. 😄
источник

АГ

Александр Гранин... in fprog_spb
Alexander Tchitchigin
Ну вот: 4-5 языков, и все safe! Явно же лучше, чем Haskell. 😄
Это если только в параллельной вселенной они все safe. Но два из них претендуют на то, чтобы быть одинаково safe с Хаскелем
источник

Y

Yuuri in fprog_spb
Alexander Tchitchigin
С таким подходом и в C++ дофига гарантий. Программа же вообще делает ровно то, что вы написали. 🤷‍♀
Если undefined behavior – это «ровно» то же, то да, и с C++ дофига гарантий 😉
источник

AT

Alexander Tchitchigi... in fprog_spb
Yuuri
Если undefined behavior – это «ровно» то же, то да, и с C++ дофига гарантий 😉
Так настоящие шотландцы не пишут программ с undefined behaviour! Тем более на Scala.
источник

Y

Yuuri in fprog_spb
Александр Гранин
Это если только в параллельной вселенной они все safe. Но два из них претендуют на то, чтобы быть одинаково safe с Хаскелем
В шаблонном метапрограммировании вообще никаких эффектов, оно даже более safe, чем хаскель!
источник

АГ

Александр Гранин... in fprog_spb
Говорят, есть языки, в которых одно и то же чистое, без эффектов и конфигов, выражение при одном запуске может дать 2, а при другом - 3.
источник