- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
import Control.Arrow
more_than_4_minimum_increased_to_100_from_list_of_pairs =
map fst >>>
filter (>4) >>>
minimum >>>
(+100)
main = do
let l = [(i,j) | i <- [2,4..7], j <- [2..i]]
print l
print $ more_than_4_minimum_increased_to_100_from_list_of_pairs l
laMer007 09.04.2014 17:20 # 0
roman-kashitsyn 09.04.2014 17:29 # +3
laMer007 09.04.2014 17:51 # +2
Тот же Linq в этом плане удобнее:
Yuuri 10.04.2014 17:49 # 0
«Прибавить сотню к минимуму из бо́льших 4 первых элементов списка пар».
Но вообще соглашусь, это требует большого стека в мозъгу, и |> и >> из F# местами удобнее.
laMer007 10.04.2014 19:21 # +3
Я конечно могу это сделать и в нотации с точками, но это не удобно. Нужно сменить вид деятельности анализа типов на вид деятельности поиск конца выражения, если действия в перевернутом порядке. А если выражение сложное, многоскобочное и многоточечное, то это может затянуться. Что вообще говоря плохо и вытаскивает из потока. Хаскель тем и хорош, что держит в потоке надуманными причинами для размышлений
wvxvw 09.04.2014 22:50 # +2
HaskellGovno 10.04.2014 00:04 # +3
I get your point.
wvxvw 10.04.2014 00:23 # +1
laMer007 10.04.2014 00:37 # −1
wvxvw 10.04.2014 00:39 # +3
(require-extension list-of)