@haskellru

Страница 1051 из 1551
Alexander
03.04.2018
08:02:24
с того, что мы в haskell?

т.е. я не вижу ничего странного с тем, что её учитывать

kana
03.04.2018
08:10:36
с того, что мы в haskell?
по моему в таком случае нужно уточнять, что сравнение с хаскельным списком, я во время прочтения вопроса не воспринимал "список" как "хаскельный список" и бесконечность тоже не учитывал, очевидно

Leonid
03.04.2018
08:11:55
@qnikst Async.waitEitherCatchCancel это как race же, да? т.е. грохнет второй тред? А то я что-то запутался

Google
Yuriy
03.04.2018
08:11:57
на собеседованиях часто задают некорректные/неполные задачи, чтобы проверить умение определять корректность/полноту постановки задачи

kana
03.04.2018
08:15:28
https://gist.github.com/klapaucius/1393078 - что это дает?

Alexander
03.04.2018
08:15:33
let test = Test 1 (let x = x in x)

Yuriy
03.04.2018
08:15:35
что есть строгий список? для списка можно придумать промежуточные строгости — только по позвоночнику, только по элементам

Theta
03.04.2018
08:15:35
Я думаю он имел в виду свою реализацию списка типа

Alexander
03.04.2018
08:15:37
удачи в распаковке

kana
03.04.2018
08:15:57
https://gist.github.com/klapaucius/1393078 - что это дает?
Ord сеты же все еще не выполняют функторные законы

Google
Alexander
03.04.2018
08:16:08
какие?

fmap f . fmap g /= fmap (f.g) или fmap id = id ?

kana
03.04.2018
08:16:28
F f . F g = F (f . g)

Alexander
03.04.2018
08:16:37
пример?

он вроде должен следовать из fmap id = id а он выполняется

Theta
03.04.2018
08:16:51
удачи в распаковке
Удачи в распаковке того, что корректно не определено?

Alexander
03.04.2018
08:17:04
Oleg
03.04.2018
08:17:05
\petrosyan_mode_on это смотря в какую категорию функтор

Theta
03.04.2018
08:17:06
с точки зрения смысла

Alexander
03.04.2018
08:17:47
Prelude> data Test = Test Int [Char] deriving (Show) Prelude> let t = Test 1 (let x = x in x) Prelude> t Test 1 "^CInterrupted.

Oleg
03.04.2018
08:18:14
аааа не

Alexander
03.04.2018
08:18:19
это ничем не отличается от data Test' = Test Int (List Char), если в List бесконечный список

Theta
03.04.2018
08:18:59
Alexander
03.04.2018
08:19:00
и там и там у нас боттом

Theta
03.04.2018
08:19:07
удачи в распоковке того, что не вычисляется?

потому чт отам боттом?

Alexander
03.04.2018
08:19:36
смотри в вопросе интервьюера что я процитировал он спрашивал можешь ли ты распаковать лист

видимо предполагая ответ, что не можешь

Theta
03.04.2018
08:19:57
Это уже по почте переписка с ним... не является интервью

Google
Theta
03.04.2018
08:20:15
Alexander
03.04.2018
08:20:22
так вот я привел пример того, что даже с ленивым списком - не можешь

т.е. вопрос несколько странный

Theta
03.04.2018
08:21:15
А... ну... странный да. размытый

вот и я про что

Oleg
03.04.2018
08:22:27
пример?
newtype Communism a = Communism{ getCommunism:: a} instance Eq (Communism a) where _ == _ = True instance Ord (Communism a) where _ `compare`_ = EQтогда Set.map getCommunism . Set.map Communism =/= Set.map (getCommunism . Communism)

Theta
03.04.2018
08:22:57
Впрочем... всё-таки я смог) Prelude> data Test = Test Int [Char] deriving (Show) Prelude> let t = Test 1 (let x = x in x) Prelude> let Test _ a = t Prelude> a "

Или мы друг друга не поняли?

товарищ @qnikst )

kake
03.04.2018
08:25:49


Theta
03.04.2018
08:30:08
товарищ @qnikst )
короче, @qnikst я ему ответил что можем. В случае ленивой имплементации Test мы делаем это в любом случае, если List вычислен, а в случае неленивой... надо чтобы вычислено было всё. Честно не уверен что он хотел получить этим коротким вопросом но возможно это

Alexander
03.04.2018
08:30:34
Или мы друг друга не поняли?
ну у тебя же ничего не напечаталось программа зависла

Theta
03.04.2018
08:30:47
Ну... тип данных то извлёкся.

Alexander
03.04.2018
08:30:59
тип это на этапе компиляции

Theta
03.04.2018
08:31:00
даже начал выводиться на экран...

и вычисляться

Alexander
03.04.2018
08:31:05
в рантайме типов нету

Theta
03.04.2018
08:31:19
то что он не вычисляется уже не мои проблемы

в рантайме типов нету
позвольте не согласиться. Boxed есть. Если только моя инфа не устарела

Google
Alexander
03.04.2018
08:31:50
не начал он это show сработало

я не понимаю этого утверждения

типы стираются System DC ещё не запилили

Theta
03.04.2018
08:32:35
ну да, шоу сработало. Значит на вход ему мы что? ЧТо-то подали, ленивое. Что он начал вычислять так как потребовался результат. СЛедовательно извлечено

Alexander
03.04.2018
08:33:22
нет конечно

Theta
03.04.2018
08:33:53
если бы было не извлечено, даже кавычка бы не вывелась.

Извлечение это и есть чисто операия на д типами

Alexander
03.04.2018
08:34:10
ну или в такой странной терминологии и строгий список извлекается

Theta
03.04.2018
08:34:10
ладно уже философия какая-то

Получается так, лол)

Ну ок, если считать извлечением не операцию над типами, а получение готового результата, то ок, не извлекаем.

но тут я уже сомневаюсь в правильности того или иного понимания термина извлечение. Поэтому на всякий случай в ответе уточнил про конечность списка

Alexander
03.04.2018
08:36:02
+

Theta
03.04.2018
08:36:12
что это нормальный список а не... wtf ?

Theta
03.04.2018
08:36:33
не получаем)

а над типами поколдовали вполне... ;D

Ладно, давай сойдёмся что очередной вопрос странный?

?

неполный

Google
Alexander
03.04.2018
08:38:00
вопрос странный, т.к. при всех определениях извлечения строгие и ленивые списки имеют одинаковые свойства

Theta
03.04.2018
08:38:38
ну да, поэтому я говорил только про строгость и ленивость Test

свойства ленивости и строгости Test влияют на извлекаемость в разных условиях...

Alexander
03.04.2018
08:39:13
это тоже ничего не меняет

Theta
03.04.2018
08:39:34
Ну как? Если Int32 не вычислено, то... разве не хрен ты что извлечёшь?

т. к. Test даже возращён не будет

В случае СТРОГОГО Test

пардон

В случае ленивого — пожалуйста)

Alexander
03.04.2018
08:40:48
я привел пример, где не будет

let x = x in x передай, и привет

Theta
03.04.2018
08:41:15
я понял)

но не буду повторяться...

чёт он совсем замолчал

Alexander
03.04.2018
08:42:27
если поле строгое, то и там и там мы может не вернуть Test

kana
03.04.2018
08:42:30
https://gist.github.com/klapaucius/1393078 - что это дает?
как итог, смысл этого все еще не ясен

Alexander
03.04.2018
08:42:36
если не строгое и там и там вернем

Leonid
03.04.2018
08:42:45
как красивее переписать ? go `catch` (\e -> handle e $> succ i) `catch` (\e -> onHttpE e $> succ i)

Alexander
03.04.2018
08:43:00
как итог, смысл этого все еще не ясен
как писать классов типов ограниченные под констреинтами на тип

catches?

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