Kirill
Я кстати запили пропозал ещё две недели назад :3
да, как разберемся с интерфейсами -- запилю
Мерль
В раст владение. А нам эта концепция не особо нравится
Владение - это прекрасно Но к алгебере типов это довольно ортогональная вещь
Aleksei
А кто обдумывает то? Ты их гугла?
Мы с Кириллом вдвоем сначала, а потом выносим на всеобщее обсуждение
Vladimir
Ну это, вас нахер пошлют скорее всего
Vladimir
Они даже дженерики родить не могут
Kirill
Ну это, вас нахер пошлют скорее всего
ну это, если ты не понял, мы пилим форк.
Vladimir
Это другое дело
Kirill
они нахер послали thread-safe lock-free мапы, которые я почти доделал
Vladimir
А лучше не форк, а другой язык с интеропом
Aleksei
Владение - это прекрасно Но к алгебере типов это довольно ортогональная вещь
Я до раста нормально еще так и не дошел. Пока о нем почитываю, посматриваю, но еще на нем не писал. Я думаю скоро попишу и смогу сказать, у меня еще хаскель на примете. Сейчас я на этапе кложуры
Мерль
А лучше не форк, а другой язык с интеропом
Интероп с go без трансляции в go/из go - это лютая боль
📀
С какими аргументы?
что реализация на стороне юзера
Aleksei
А лучше не форк, а другой язык с интеропом
Это и есть другой язык, мы просто отфоркались от го
Kirill
С какими аргументы?
публично -- никаких весомых. в issue висит закрытый. Фицпатрик даже стихами ответил.
Vladimir
Го делает гугл для гугла
Aleksei
Интероп с go без трансляции в go/из go - это лютая боль
Код на go у нас будет работать. А код на good в го уже скоро нет
Kirill
Да, он есть в списке)
сказал человек, не писавший на сях О.о
Aleksei
По крайней мере пока
Vladimir
В скале мало интересного
Vladimir
Вот ML можно
Aleksei
В скале мало интересного
Ну почему, функциональщина с классами)) я когда увидел чуть с кресла не упал))
Vladimir
Ну там все довольно странно к классам привязано
Aleksei
Пускай тогда перестанут говорить, что это фп-язык, пусть скажут, что мультипарадигменный и не будет вопросов, но они же стоят на этом
Мерль
Пускай тогда перестанут говорить, что это фп-язык, пусть скажут, что мультипарадигменный и не будет вопросов, но они же стоят на этом
meh Не вижу ничего важного в том, чтобы называть скалку/любой другой язык чистым функциональным языком или нет (тем более что чисто функциональный язык всё равно невозможен в силу того, что ему хоть как-то надо взаимодействовать с реальным миром, ваш кэп)
Aleksei
meh Не вижу ничего важного в том, чтобы называть скалку/любой другой язык чистым функциональным языком или нет (тем более что чисто функциональный язык всё равно невозможен в силу того, что ему хоть как-то надо взаимодействовать с реальным миром, ваш кэп)
Но есть хотя бы языки, которые в целом следуют парадигме, а есть те, в которых внезапно появляется ооп. Ну так и скажите тогда, что он мультипарадигменный, а то это вводит людей в заблуждение. Попишут на таких языках и считают себя функциональщиками
Nikolay
meh Не вижу ничего важного в том, чтобы называть скалку/любой другой язык чистым функциональным языком или нет (тем более что чисто функциональный язык всё равно невозможен в силу того, что ему хоть как-то надо взаимодействовать с реальным миром, ваш кэп)
Не не буду встревать в еще один мини срач, но в декларативном стиле можно многое описать, если язык позволяет не пользоваться переменными, есть операторы конвеера, функции как для всех типов, так и для желаемых и для конкретных значений. Все это сильно уменьшает необходимость в императивном коде
Мерль
Это не так. Хаскель вполне чистый
И у него ни одна операция не имеет побочного эффекта? 😈
Мерль
ваапще ваапще?
Мерль
Ни одна функция
Не вывод строк наружу ни сканирование пользовательского ввода? То есть он не общается с реальным миром?
Мерль
профессиональный тролльЪ ™️ ;)
Извините, был тяжёлый день (
Мерль
и вообще развели тут в чатике про ноду
Vladimir
Общается, но функции чистые
Vladimir
Для этого есть монады
Мерль
Nikolay
Функции чистые, но разве так страшно, если нет?)
Aleksei
Общается, но функции чистые
Если есть побочные эффекты, то они уже по определению не чистые. Они просто всегда возвращают одну и ту же структуру данных, то есть являются монадами, но они не чистые
Vladimir
Именно чистые
Vladimir
Сайд эффектов нет
Ale
io это уже сайдэффект
Алдар
По сигнатуре функции можно понять чистая она или нет, в любой где есть монада IO - есть сайд эффекты
Мерль
Для этого есть монады
то есть у нас есть функции для работы с состоянием, но така как это обёрнуты монады, то всё в порядке? хехехе
Aleksei
Сайд эффектов нет
А если ты получаешь данные с внешнего апи?
📀
запись в файл то как происходит? :)
Ale
плюс в том, что очень явно отделено чистое от нечистого
Vladimir
Само выполнение функции не имеет сайд эффектов
Ale
Само выполнение функции не имеет сайд эффектов
ну что считать выполнением функции
👁
Думаю обращений к внешнему апи есть отдельное специальное название :) коэффекты
Aleksei
то есть у нас есть функции для работы с состоянием, но така как это обёрнуты монады, то всё в порядке? хехехе
То что я и говорил, они всегда возвращают одно, но они все равно не являются чистыми. Потому что сайд эффекты все равно есть
Vladimir
Нет
Vladimir
Сами функции являются чистыми чистыми
Kirill
тут self
undefined: self
Мерль
ладно, я тут поджёг, дальше пойду
Vladimir
Ты вызываешь функцию и никаких эффектов не выполняется
Vladimir
Эффекты выполняет рантайм отдельно
Vladimir
То есть все функции строго чистые
Aleksei
Эффекты выполняет рантайм отдельно
Ок. Ладно, надо вникнуть в это все получше
Ale
в конце концов do нотация
Vladimir
Ну не в хаскеле
Vladimir
Ну это просто сахар
Ale
ну или >>=
Nikolay
Ну я не знаю хаскеля, но по определению он прав
Vladimir
Это не делает функции не чистыми
Vladimir
Это просто способ композиции монад
Алдар
хаскель один из самых упоротых языков