Слава
У ФЯ вычислительная модель должна быть соответствующей, как у хаскеля. И си тут не подходит
Aliester
почему ленивость =функциональность?
Leonid 🦇
Фп радикалы какие-то в чате!
Denis
определение функциональности через бесконечные списки вообще, мягко говоря, вольное
Anonymous
Евгений
ФП это баззорд, успокойтесь
Leonid 🦇
Как девопс
A64m
Ю ли я? 🤔
Можно пример тяжести? (с лиспами мало дела имел)
A64m
мне лень
A64m
A64m
хаскель от этого
Leonid 🦇
Ну вот тут, в биокаде. Мне пришлось краснеть за двоих. При том что я не такой уж радикал
A64m
Denis
красней уж за всех, а не за двоих
Aliester
Leonid 🦇
A64m
или это не биокадовец а какой-то приблудный лиспер заглянул на лекцию?
Leonid 🦇
Этож @bravit111
Aliester
A64m
что-то реальный прототип этого персонажа пропал кудато
Leonid 🦇
@A64m_qb0 а зачем делали Хаскель когда была Миранда?
Евгений
Чтобы написать книжку как написать цомпилятор ФЯ
Слава
да, на JS
Тут нужно ответить, что это не работа, а мучение
A64m
Евгений
A64m
Leonid 🦇
Есть мнение что Тёрнер денег хотел
Евгений
A64m
какие там книжки издали?
Евгений
У меня даже есть эта книжка
A64m
A64m
и хаскель стали делать когда ее издали уже
Евгений
Про хаскель
A64m
но не очень успешно
Alexander
: vs ::
A64m
а?
Слава
Да, вот войсов тут не хватает
Alexander
вроде ж там быть что-то что сделать не как в миранде
A64m
Alexander
а что?
A64m
сделали a -> b вместо * -> **
A64m
потом больше отличий стало
A64m
но они выбирали язык, чтоб делать как в нем все что в нем есть, т.е. тайпклассы делаем как хотим, их не было, а если что-то есть делаем как в языке X
A64m
ну и решили сначала что это Миранда будет
A64m
но Тернер попросил чтоб они сделали язык отличающимся
A64m
тогда они выбрали язык Вадлера Оруэлл, в котором все как в миранде кроме a -> b вместо * -> **
Alexander
:)
A64m
думаю, Тернер почуствовал ГОРЕЧЬ ОБИДЫ после этого
Leonid 🦇
* -> ** выглядит стрёмно
A64m
так в милнеровском эмеле было, но после того как Тернер это позаимствовал эмелисты передумали, и ни в одном такого не сохранилось
Vasiliy
я маленько запутался с кондуитами:
есть ф-ции:
- foo :: ByteString -> IO a
- sourceFile :: (Monad m, MonadIO m) => File -> Producer (Action m) ByteString
мне нужно это как-то соединить вместе и "запустить" runConduit
т.е.
result ← runConduit $
GFS.sourceFile file .|
mystery foo
вот интересно, что за mystery может быть
Found hole:
_ :: (ByteString -> IO a)
-> ConduitM ByteString Void (Action IO) a0
хм
upd: не, я фигню написал, мне нужнo просто .| consume или что-то подобное, что просто все в память "вычитает", забыл как называется, найду)
sinkLazy похоже
bs ← runConduit $ GFS.sourceFile file .| sinkLazy
Ю ли я? 🤔
Кто-нибудь знакомился сегодня с биокадовцами? Они про себя рассказывали подробнее?
кана
Есть смысл ее читать сейчас, чтобы лучше понимать устройство фя с ленивой редукцией (в том числе устройство ghc), или она слишком устарела?
Leonid 🦇
Ю ли я? 🤔
Но какие проекты-то?
(я просто тоже в биотехе, мне отдельно интересно)
Anonymous
Leonid 🦇
Распределенные системы, ГПУ кластеры
Alexander
лучше конечно если сами подробнее расскажут
Leonid 🦇
У них на гитхабе должна быть инфа
Ю ли я? 🤔
Уу, они ещё и опенсорц?
Leonid 🦇
https://github.com/biocad/career/blob/master/README.md
A64m
A64m
разве только из диссеров и статей составить какой-то набор, но это еще сделать надо
Aliester
можно пюр фанкшинал дата стракчерс
A64m
она-то какое отношение к этому имеет
Евгений
A64m
да особо и не придумывал никто. Придумали GRIN в 90-е два человека немного с ним пострадали а потом устали
A64m
никто же не занимается такими вещами
Евгений
Грин? Чо это?
A64m
Грин? Чо это?
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.27.3918&rep=rep1&type=pdf
Andrey
Потому что бесконечные списки без ленивости не делаются
К слову, выше Александр потехи ради дал ссылку на мой недавний стрим на трубе, так я там анонсировал в следующем стриме рассказ про то, как делать бесконечные списки в самом что ни на есть кондовом строгом аппликативно-редуцируемом языке (хоть в жаваскрипте), и решить на них всю главу СИКПа про ленивые стримы и потоки. Причем, сделать их оптимальными в смысле отсутствия дублирования вычислений и скорости.
Клапауцию и прочим умным людям в этом чатике такое конечно не интересно, но после вашего пассажа я решился все-таки озвучить это.
Слава
К слову, выше Александр потехи ради дал ссылку на мой недавний стрим на трубе, так я там анонсировал в следующем стриме рассказ про то, как делать бесконечные списки в самом что ни на есть кондовом строгом аппликативно-редуцируемом языке (хоть в жаваскрипте), и решить на них всю главу СИКПа про ленивые стримы и потоки. Причем, сделать их оптимальными в смысле отсутствия дублирования вычислений и скорости.
Клапауцию и прочим умным людям в этом чатике такое конечно не интересно, но после вашего пассажа я решился все-таки озвучить это.
Я думаю, что речь там у вас об итераторах. Как-то на одном форуме я встретил спор о том, что-де C# круче явы, потому что в нем yield есть - после чего явисты оный yield изобразили вручную.
Стрим не смотрел, мне их сложно воспринимать.