juan_gandhi: (Default)
[personal profile] juan_gandhi
Принцип дизайна: non sunt entia multiplicanda sine necessitatem.

Короче, CPS рулит; сейчас вмажу моноид, https://docs.rs/functional/0.0.5/functional/trait.Monoid.html, чтобы вообще не дублировать ничего и не писать циклы, где не надо (а просто fold). 

Подробности:

1. Не нужно дублировать данные. Если у тебя есть данные, присобачь к ним какой-нибудь метод, чтобы применять твою функцию и устраивать какой-нибудь fold, возможно, с мапингом и фильтрацией.

2. Поэтому, вместо того, чтобы передавать коллекцию в функцию, передавай функцию в коллекцию.

3. Для фолда моноид самое то (а иначе откуда фолд?) В моноиде есть "начальное значение" и ассоциативная бинарная операция. Чтобы проехаться по коллекции, это все что надо - начали с "начального значения", и все данные переварили, получив одно значение. Левый фолд или правый - для моноида роли не играет, можно и распараллелить.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
181920 21 222324
25 262728 293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 30th, 2025 02:41 pm
Powered by Dreamwidth Studios