Чтобы добавлять сообщения и комментарии, .

@Strephil:
Strephil

Ну вот, 238, до конца прошёл, но тян как нет, так никогда и не будет.

@Shchvova:
Shchvova

Ну вот и закончился курс по хаскелю. Впечатления — очень хороший курс, автора молодцы. Хотя часть о монадах чувствую без практике послезавтра выветрится из головы, потому что походу не сильно там и задержалась. Например, я так и не понял как сделать последнее задание при помощи монады State, потому сделал без монад codepad.org
В кратце, есть дерево (), надо переделать в дерево чисел что бы были пронумерованы слева направо.

@Shchvova:
Shchvova

На степике что-то подкрутили и все починилось.

@Shchvova:
Shchvova

что-то мое решение к задачам о монаде IO не принимается, выдавая ошибки компиляции. Не пойму в чем проблема, на моей машине все работает — codepad.org
не думаю что вопрос о Хаскеле, скорее о степике. Но если я делаю что-то не так — можете тоже написать. Условие в /1

@Shchvova:
Shchvova

Общим, а как решать первую задачку на монады списков? Я что-то не понимаю? Вот мое решение, а есть красивые пути? codepad.org (условие в /1)

@Shchvova:
Shchvova

мое IDE умнее меня. А у вас вим такое умеет?

@Shchvova:
Shchvova

Помните я говорил wat на туплы хаскеля #2807019? Оказалось что час назад окрылась последняя неделя курсов, где о этом рассказывают прям stepic.org клево.
А еще (1) — это не тупл. Это просто 1 в скобках :( походу хаскель не умеет туплы (как умеет их питон, например)

@Shchvova:
Shchvova

Интересный урок. Но блин, я не сделал 3 заданька. Помощь приветствуется.

1 — сраные галочки. Я вообще не пойму что с меня хотят, и вообще что за хрень спрашивают и почему что-то кроме `emptyOrSingleton False undefined` верно stepic.org

2 — более общий вопрос по хаскелю. Вот я написал кот. Вроде все сходится по типам, но не работает, я не понимаю почему. Как это вообще "дебажить"? stepic.org
Вот мой код — codepad.org

3 — что-то заметил что пропустил. Пока совсем не понял что с меня вообще хотят stepic.org

@Strephil:
Strephil

Чё-то не понимаю никак. Правильный ответ скорее угадал:
stepic.org

@Strephil:
Strephil

Решил задачку с подстановками!

@Shchvova:
Shchvova

Долго долбился как написать stepic.org а потом фигак проснулся и написал решения в две строчки... Прям хорошо.
А вот с свертками что-то ступорю.

пока что любимое решение это:

evenOnly :: [a] -> [a]
evenOnly = map snd . filter (even .fst) . zip [1..]

Вот со свертками родил вот это:
evenOnly :: [a] -> [a]
evenOnly = foldr (\(i,x) a -> if even i then x:a else a) [] . zip [1..]

А есть ли что более красивое?

@qnikst:
qnikst

блин.. они на курсе реально обижают, одна задача реализовать функцию, а следующая так чтобы работала с бесконечными списками. И что делать если она сразу работает, разреализовать назад

@Shchvova:
Shchvova

Что-то застопорился неожиданно на https://stepic.org/lesson/12321/step/8
Не пойму, что не так...

perms :: [a] -> [[a]]
perms [] = []
perms [x] = [[x]]
perms (x:xs) = concatMap (interleave x) (perms xs)
  where
    interleave :: a -> [a] -> [[a]]
    interleave a l = interleave' a l []

    interleave' :: a->[a]->[a]->[[a]]
    interleave' a [] rs = [a : rs]
    interleave' a ls@(l:el) rs = (ls ++ [a]  ++ rs) : interleave' a el (l:rs)

@Shchvova:
Shchvova

Что-то туго идет весь рассказ о ленивости и когда она не используется. Я как-то угадал ответ на этот вопрос но понимание не пришло.

@qnikst:
qnikst

Вот мне на степике написали, что функция
fortyTwo = 39 + 3
будет закеширована в компиляторе и интерпретаторе, т.к. она не принимает аргументов.
А у меня это не работает :)

```
Prelude Debug.Trace> let fortyTwo = trace "evaluated" (39+3)
Prelude Debug.Trace> fortyTwo
evaluated
42
Prelude Debug.Trace> fortyTwo :: Int
evaluated
42
Prelude Debug.Trace> fortyTwo :: Double
evaluated
42.0
Prelude Debug.Trace> map (+fortyTwo) [1..10]
[evaluated
43,44,45,46,47,48,49,50,51,52]
Prelude Debug.Trace> map (+fortyTwo) [1..10]
[evaluated
43,44,45,46,47,48,49,50,51,52]
```
и
```
Prelude Debug.Trace> data N = forall n . (Num n,Show n) => N n
Prelude Debug.Trace> let shown (N x) = show x
Prelude Debug.Trace> map (\(N n) -> show $ n + fortyTwo) [ N (1::Int), N (1::Int), N (0.5::Double)]
["evaluated
43","evaluated
43","evaluated
42.5"]
```

или не хорошо так троллить?

@voidex:
voidex

Сдал

@Shchvova:
Shchvova

уже второй день пытаюсь придумать граф на 5 вершинах с наибольшей кликой 2 и числом независимости 2. Есть идеи?

@Shchvova:
Shchvova

fml. ucarecdn.com

@voidex:
voidex

@Shchvova, давай опытом обмениваться

@Shchvova:
Shchvova

Очередной вынос мозга с галками в тесте — stepic.org
Казалось бы, возьмем k=2, тогда наши товарищи будут простые, выставляем галки и готово, а фигушки... Где я туплю :(

@qnikst:
qnikst

48/116 как-то плоховато в дискретных структурах на степике :(

@Shchvova:
Shchvova

Дискретные структуры:
WORKLOAD
3-4 часа в неделю
ага, точно...

@Shchvova:
Shchvova

Как я провел выходные...

@Shchvova:
Shchvova

А! Бляя… Что я не так делаю? Вроде очевидное задание, а ответ не принимается. Да и ответ почему-то независимый от n получается, общим ааа!!1

@Shchvova:
Shchvova

догонял софт дедлайн (кстате, что это?). Почему-то забил, а вот, решил что хочу доделать. Оказалось что дальше — сильно легче все. Общим, няшнота дня: если G — планарный граф, то Χ(G)≤4. Mind blown. gifatron.com

@qnikst:
qnikst

антигравитация — зло :/