к
Size: a a a
к
AP
P
P
suid :: ActionM()
suid = do
zt <- liftIO getZonedTime
ty <- return (formatTime defaultTimeLocale "%Y%m%d%H%M%S" zt)
text $ pack ty
к
x <- return y
let x = y
P
P
AP
AP
λO
return
и >>=
могут быть не дешевыми. лучше таки let
P
YS
x <- return y
let x = y
e
Заметил такую вещь: обычно, когда говорят, что типа сложно, нереально понять, "новички не осилят" и т.п., то на подсознательном уровне откладывается это. И в дальнейшем это мнение мешает разобраться в проблеме самостоятельно, а когда такие мнения накапливаются одно за другим, то и вовсе не хочется браться за проблему. Но иногда, конечно, это и придает мотивации, чтобы доказать себе, мол "я смогу". Не знаю, может у меня одного так.
VY
VY
seq
, но:foldl'
и там $!
вместо seq
:foldl' :: (b -> a -> b) -> b -> t a -> b
foldl' f z0 xs = foldr f' id xs z0
where f' x k z = k $! f z x
$!
, но как и почему он работает?($!) :: (a -> b) -> a -> b
f $! x = let !vx = x in f vx -- see #2273
VY
AP
Заметил такую вещь: обычно, когда говорят, что типа сложно, нереально понять, "новички не осилят" и т.п., то на подсознательном уровне откладывается это. И в дальнейшем это мнение мешает разобраться в проблеме самостоятельно, а когда такие мнения накапливаются одно за другим, то и вовсе не хочется браться за проблему. Но иногда, конечно, это и придает мотивации, чтобы доказать себе, мол "я смогу". Не знаю, может у меня одного так.
AP