@haskellru

Страница 1328 из 1551
shadowjack
08.07.2018
13:27:42
Посмотри решения на хаскеле 6-5 кю. Там такие затейники есть

Вообще codewars народ юзает чтобы языку учиться. И у многих питон - первый язык

Я часто задачки 2 раза решаю - сначала своим умом, потом просматриваю чужие решения, беру лучшее и потом решаю ещё раз по памяти

kana
08.07.2018
14:19:38
Тестируешь память?

Google
kana
08.07.2018
14:20:10
Других причин решать по памяти, а не по пониманию, нет

shadowjack
08.07.2018
14:23:37
В смысле по памяти = не поглядывая в решения. Перевожу память в навык так сказать.

Посмотри, какое там решение в топе
Вот моя первая попытка: https://www.codewars.com/kata/reviews/5b0ce29de86c548f16000e76/groups/5b42309c6c7654379b000ce7 да, про id дефолтный я не подумал

shadowjack
08.07.2018
16:37:34
Кстати, есть такая функция в хаскеле choise pred f1 f2 x = if pred x then f1 x else f2 x?

Pineapple
08.07.2018
16:38:37
ifM где-нибудь должен быть

shadowjack
08.07.2018
16:40:39
Или ifA ?

Pineapple
08.07.2018
16:41:12
Нет, нужно достать Bool из предиката

shadowjack
08.07.2018
16:47:17
ifM в Control.Cond но в старой версии на codewars такого модуля нет

Хотя у меня оно в Control.Monad.Extra

Антон
08.07.2018
16:50:10
http://hayoo.fh-wedel.de/?query=%28a+-%3E+Bool%29+-%3E+%28a+-%3E+b%29+-%3E+%28a+-%3E+b%29+-%3E+a+-%3E+b

shadowjack
08.07.2018
16:52:52
Ха, походу я даже функцию правильно назвал

Google
A64m
08.07.2018
16:55:57
зачем специальная функция если можно просто liftA3 bool?

Александр
08.07.2018
16:56:29
А мы продолжаем с Владиславом Сабановым разрабатывать движок текстовых игр. Сделали второй каст. (link: https://youtu.be/yjwSRfFjKnM) youtu.be/yjwSRfFjKnM

shadowjack
08.07.2018
16:59:24
Что-то у меня liftA3 bool не тайпчекается

A64m
08.07.2018
17:00:15
ну там порядок аргументов другой

shadowjack
08.07.2018
17:02:12
Точно, спасибо

Все пашет.

Ilya
08.07.2018
17:27:30
А кто-нибудь может тыкнуть в место в документации, где написано, как у нас проверяется, что Default signature matches non-default type signature?

а то у меня t repr s Int вместо repr s Int прокатывает при дефолтных кайндах, но потом в другом месте кайнды не сходятся

а если я явно правильные кайнды указываю, вылезает ошибка о том, что сигнатуры не совпадают

kana
08.07.2018
17:33:15
ifM :: Monad m => m Bool -> m a -> m a -> m a ifM mc mt me = mc >>= \c -> if c then mt else me main = do ifM (read <$> getLine) (print 10) (print 20) print $ (ifM even succ pred) 10 -- 11

что-нибудь такое

теперь для инстанса монады для стрелки должно работать как хочется выше

A64m
08.07.2018
18:03:04
так вроде речь про инстанс для ридера.

kana
08.07.2018
18:06:28
ну и у меня используется ридер-инстанс стрелки

а, ты типа к тому, что для ридера лишнее выполнения эффекта не страшно

это да, верно

Igor
09.07.2018
00:33:26
Тут, конечно, все и так умные, но если что, то вот: https://www.manning.com/books/haskell-in-depth, скидка 50% до 8 июля по промокоду mlbragilevsky
А для стаpта пойдет? Какое-то пpимеpное понимание есть, но не более того. С ООП (Java, Kotlin) и паpодией на ФП (Scala) знаком, и знаком весьма неплохо.

Igor
09.07.2018
03:16:47
Для старта лучше Learn Haskell for Great Good
Спасибо. А по-диагонали читается, или там концентpация инфоpмации ноpмальная?

Google
Dmitry
09.07.2018
03:17:38
Уж лучше https://anton-k.github.io/ru-haskell-book/book/home.html

Andrew
09.07.2018
03:18:08
Так может сами откроете и оценете? :) А то все время слушать чужие ничего не значащие мнения ни к чему не привидет :)

Dmitry
09.07.2018
03:18:10
А для начала ещё и вот: https://www.ohaskell.guide/

Andrew
09.07.2018
03:19:12
Я на старте пользовался вышеупомянутой мною книгой и курсом от Дениса Москвина на stepik.org

Vitaly
09.07.2018
03:31:58
Alexander
09.07.2018
03:56:53
это кстати в первой главе написано

ну или где-то вначале книги

Vitaly
09.07.2018
04:34:02
Вот, кстати, скидка на обе книги https://www.manning.com/dotd

shadowjack
09.07.2018
05:01:03
В 7.10 LambdaCase уже был?

Dmitry
09.07.2018
05:02:48
В 7.10 LambdaCase уже был?
Да. Он появился в 7.6. Вот полезная ссылка по истории LANGUAGE прагм: https://ghc.haskell.org/trac/ghc/wiki/LanguagePragmaHistory

shadowjack
09.07.2018
05:04:45
Чёт не хочет работать у меня на codewars

Vitaly
09.07.2018
05:38:56
Можно! Тем более, что старая скидка сгорела

Alexander
09.07.2018
05:40:28
А у Manning «Deal of the Day»: можно прикупить одновременно Get Programming with Haskell и Haskell in Depth с промокодом dotd070918au!

опс, с нотификацией прицепил, ну ладно

Vitaly
09.07.2018
05:41:14
И хорошо!

Lev
09.07.2018
05:41:42
блин. отцепляй назад, но только в противофазе

(в ушах до сих пор звенит :)

Vitaly
09.07.2018
05:42:09
Ого

shadowjack
09.07.2018
06:51:12
А как по-вашему - liftA2 f1 f2 f3 или f1 <$> f2 <*> f3?

Google
Quet
09.07.2018
06:51:17
@bravit111 а когда планируется обновление меапа? а то всего 3 главы пока

Vitaly
09.07.2018
06:52:44
@bravit111 а когда планируется обновление меапа? а то всего 3 главы пока
В среднем раз в месяц, но тут не только от меня зависит, я уже две главы написал на ~80 страниц, но их пока редакторы не читают.

Quet
09.07.2018
06:54:06
а это сразу пишется на английском или на русском и потом переводится?

Александр
09.07.2018
06:57:57
Предположу, что сразу на английском. Двойную работу делать не хочется

Алексей Ayaye :)
09.07.2018
07:15:30


Admin
ERROR: S client not available

Aleksey
09.07.2018
07:19:34
Если для Parsec есть инстанс IsString, то норм. Предположу, что есть

Алексей Ayaye :)
09.07.2018
07:20:57
Aleksey
09.07.2018
07:20:59


всё проще

Алексей Ayaye :)
09.07.2018
07:21:32
где такое определение?

Aleksey
09.07.2018
07:21:40
https://hackage.haskell.org/package/parsec-3.1.13.0/docs/Text-Parsec-Token.html#v:symbol

Хотя м.б. это и не тот symbol, но в индексе хаддоки к Parsec, только этот есть :)

Вообще странно, это же геттер. Он должен принимать TokenParser первым параметром

М.б. пример - абстрактный?

Алексей Ayaye :)
09.07.2018
07:24:56
я не знаю, как раз пытаюсь разобраться, как этим пользоваться

Aleksey
09.07.2018
07:25:59
> :m +Text.Parsec.Token > :t symbol symbol :: GenTokenParser s u m -> String -> ParsecT s u m String

Похоже примеры таки абстрактные

Т.е. "symbol ","", это просто "парсер некоего символа (не Char, а токена)

Google
Aleksey
09.07.2018
07:31:08
Или же это анахронизм из времён, когда парсер string назывался symbol (это тоже предположение)

Алексей Ayaye :)
09.07.2018
07:36:22
как я и сказал - опечатка

Aleksey
09.07.2018
07:37:10
опечатка, это sumbol. А symbol в роли string по всей доке в половине примеров

Алексей Ayaye :)
09.07.2018
07:37:51
да я понимаю, просто точнее писать длинно :)

Timofey
09.07.2018
08:21:45
Интересно, а есть разновидность Literate Haskell, которая (хотя бы) тайпчекает примеры из Хаддока?

И вообще, жив ли Literate Haskell?

Aleksey
09.07.2018
08:27:49
Жив

Timofey
09.07.2018
08:56:27
Спасибо

Aleksey
09.07.2018
09:07:30
+1 за doctest

Leonid
09.07.2018
10:15:31
есть foo:: Lens' a (Maybe b) и bar :: Lens b c, как сделать как скомбинировать сеттер что-бы в итоге view foo s == Just c?

Maxim
09.07.2018
10:17:50
а что он будет сеттить если там Nothing?

если взять вместо Lens' Traversal', то вроде как все композится

Leonid
09.07.2018
10:18:34
вот этот nothing и надо заменить на just

Maxim
09.07.2018
10:18:41
еще можно написать через lens штуку, которая будет кидать error когда надо посеттить в Nothing, но мне не нравится такое решение (недавно появилось в нашем коде)

погоди, как ты его заменишь на Just если ты знаешь только его часть?

Страница 1328 из 1551