Ilya
Danil
Блядб
Danil
Говорила мне мама
Danil
Не лезь в функциональщину
Mikhail
пиздуй на завод
Mikhail
ору
Ilya
Это не хаскель, и не функциональщина
Ilya
Это любой сишник или питонист должен уметь
Ilya
Вложенные ифы
Mikhail
ну вообще грят на заводе с завязанными руками и глазами тоже сложно
Danil
Вложенные ифы
Так я понял как надо, я думал через иф элс нельяз
Ilya
Чтобы работало на любых входных данных правильно
Danil
Mikhailъ⃞
Ilya
Danil
Но длч разных переменных мне же придётся писать его поновой
Danil
По новой*
Danil
Меняя переменную а на другую
Danil
Без написания функции не обойтись?
Ilya
Скоро дойдешь до функции
Mikhailъ⃞
и ... уже какоенибудь выражение, зависящее от list
Mikhailъ⃞
(а переменных тут якобы нет, но тебя уже наверное этим пугали)
Ilya
В новых версиях GHCi можно и без let
Oleg
В новых версиях GHCi можно и без if
Ilya
Это правда
Ilya
Я так понял, у него нет &&
Danil
Нет есть
Danil
Это прошел
Ilya
Ilya
Тогда да, используй && между этими двумя проверками
Danil
Всем спасибо
Ilya
👍
Danil
Я так понял вместо циклов у нас тут рекурсия?
Ilya
Пока можешь считать, что да:)
Mikhail
Когда ЛЕНЬ обьяснять
Mikhail
Зигохистоморфный
https://github.com/haskell-stdio/stdio
Зигохистоморфный
https://github.com/haskell-stdio/stdio/blob/master/docs/libuv%20based%20IO%20manager.pdf
A64m
сейчас читаю в твиттере, как автор программы для подсчета строк кода на го объясняет, почему она тормозит на ноутбуке (гц мало 2 ядра, вот было бы 8 все было бы нормально)
Anonymous
Aleksei (astynax)
Может там как-то сложно считаются строки?
A64m
да сборщик просто плохо подходит для написания программ "пакетной обработки", потоковая производительность низкая, а от коротких пауз толку нет
Евгений
A64m
сборщик сабжа как раз наоборот под такое заточен
Vladislav
Поэтому Pusher его невзлюбили
Vladislav
Или как их там
A64m
го просто язык из 60-х, тогда еще сборщики с поколениями не изобрели
Алексей
скажите кто-нибудь создателям го, что сейчас 2018 год
Алексей
И вообще пускай делают как в джаве: несколько сборщиков с возможностью менять их при компиляции.
Dmitry
Cheese
Алексей
в Хаскеле так уже сделали?
вот не знаю кстати, мне вообще чёт кажется, что в хаселе можно много чего на стеке можно выделить, или подсчётом ссылок освободить
Алексей
хотя может и нет, ленивость и замыкания могут мешать такому
A64m
в Хаскеле так уже сделали?
да, там можно сборщик выбирать (между копирующим и перемещающим), правда такого, который небольшие паузы обеспечивает среди них нет
Алексей
A64m
чуть менее чем все. фя же
A64m
значит рекурсии полно
Алексей
чёт я туплю, как рекурсия зацикливает сами данные?
Cheese
ones = 1 : ones
A64m
f = 0 : 1 : zipWith (+) f (tail f)
> f !! 2
производит вот такое
https://www.haskell.org/communities/05-2015/html/fib.jpg
Алексей
Зигохистоморфный
кстати в книге beginning haskell очень информативно про thunks в схемах и все такое
Алексей
Хм, интересно, а если функциональный язык без ленивости (и без thunk), то там как-то можно будет сделать циклические ссылки?
Зигохистоморфный
A64m
> функциональный язык без ленивости
Зигохистоморфный
@A64m_qb0 видел кстати их попытки?)
https://github.com/natefaubion/purescript-call-by-name
A64m
видел только ссылку в твиттере, в код не заглядывал еще
Евгений
Кстати зацикливание данных ещё не означает, что нельзя без GC работать. Для такой невозможности нужна именно тьюринг-полнота зацикливания, то есть возможность построения термов, не имеющих даже слабой нормальной формы.
То есть убрать GC из какой-нибудь агды в теории можно
Ilya
Зигохистоморфный
a66ath
В ATS есть GC?
Евгений
Алексей