Size: a a a

2020 February 29

AZ

Alex Zhukovsky in rust_offtopic
я просто люблю сначала данные подготовить полностью, а потом уже ничего не вычислять
источник

λ

λоλторт in rust_offtopic
Т-34 85
во, спасибо. Правда, тут 5 и 35 выводится, а у меня 4 и 34. И я не понимаю, где тут рекурсивный вызов. И takeWhile, случайно, не является циклом?
но рекурсия, которая "делает print" спрятана в traverse_:
traverse_ _ []       = pure ()
traverse_ f (x : xs) = do
 f x
 traverse_ f xs
источник

λ

λоλторт in rust_offtopic
то есть как правило явная рекурсия не используется, потому что хватает комбинаторов, которые внутри себя её как-то используют
источник

λ

λоλторт in rust_offtopic
явная рекурсия — слишком выразительный инструмент, она как и циклы делает код сложным и непонятным
источник

λ

λоλторт in rust_offtopic
Alex Zhukovsky
import Data.Foldable

main = let
        next i = i * (i + 2)
        is     = 5 : map next is
        xs = (subtract 1) <$> is
      in traverse_ print $ takeWhile (< 300) xs
даже здесь если посмотреть, самая сложная часть связана именно с явной рекурсией
источник

λ

λоλторт in rust_offtopic
тут конечно есть минус, связанный с порогом входа, ибо пока не выучишь эти комбинаторы, код с ними будет читать сложнее чем без них
источник

Т8

Т-34 85 in rust_offtopic
@Psilon @kremovtort спасибо, работает. Но как оно работает - нихрена не понятно. И вроде простой код, но догадаться, что примерно происходит, можно лишь по маякам-числам на эквивалентом сишном коде
источник

λ

λоλторт in rust_offtopic
Т-34 85
@Psilon @kremovtort спасибо, работает. Но как оно работает - нихрена не понятно. И вроде простой код, но догадаться, что примерно происходит, можно лишь по маякам-числам на эквивалентом сишном коде
https://t.me/rust_offtopic/181637 вот это определение тебе понятно?
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
@Psilon @kremovtort спасибо, работает. Но как оно работает - нихрена не понятно. И вроде простой код, но догадаться, что примерно происходит, можно лишь по маякам-числам на эквивалентом сишном коде
ну лучше не писать рекурсии
источник

AZ

Alex Zhukovsky in rust_offtopic
а использовать комбинаторы
источник

AZ

Alex Zhukovsky in rust_offtopic
собственно мы ведь несколько часов назад и говорили, почему лучше комбинаторы а не циклы
источник

B

Bogdan in rust_offtopic
Антон ⚙️
laughs in SPA
так в СПА там не должно быть каких-то горячих циклов

взял данные с бека да отрендерил
источник

Т8

Т-34 85 in rust_offtopic
λоλторт
https://t.me/rust_offtopic/181637 вот это определение тебе понятно?
не, надо смотреть детально, ни черта не понятно. Возможно, я бы понял, если бы подобное написали на D или на C#. Возможно, на JS. Тут настолько не клеится с моими знаниями, что просто как баран на новые ворота смотрю, вообще никаких идей
источник

SP

Stanislav Popov in rust_offtopic
а в хаскеле нету приватности?
источник

DS

Doge Shibu in rust_offtopic
Stanislav Popov
а в хаскеле нету приватности?
На уровне модулей
источник

DS

Doge Shibu in rust_offtopic
Ты можешь задать, что экспортируется из модуля
источник

λ

λоλторт in rust_offtopic
Stanislav Popov
а в хаскеле нету приватности?
На уровне модуля ты можешь задать какие определения экспортировать, а какие нет. На уровне пакета ты можешь задать, какие модули экспортировать из пакета, а какие нет.
источник

SP

Stanislav Popov in rust_offtopic
Doge Shibu
Ты можешь задать, что экспортируется из модуля
а это устраивает вполне. просто какой то бред гуглится как обычно
источник

Т8

Т-34 85 in rust_offtopic
Alex Zhukovsky
собственно мы ведь несколько часов назад и говорили, почему лучше комбинаторы а не циклы
комбинаторы? Блин, какая-то ассоциация с корутинами, но не уверен в этом
источник

С

Слава in rust_offtopic
Stanislav Popov
а это устраивает вполне. просто какой то бред гуглится как обычно
Каков запрос, таков и ответ
источник