
Theta
03.04.2018
05:35:42
Ну... конечные сообщения хранить в нём можно же будет, разве нет?
какая-нибудь конечная надпись...

Index
03.04.2018
05:36:48
Текст вообще не надо списком представлять, на этом можно и закончить
Есть строгий Text

Google

Alexander
03.04.2018
05:37:52
как не control structure у списка не много применений, хотя вон в окасаки было

Theta
03.04.2018
05:38:24
Его ответ>
«
вычисление должно происходить до WHNF (примитивные типы вычисляются сразу, рекурсивные - до первого конструктора, в данном случае (:!) )
»
И... я так и не понял, что мешает начать проводить вычисления с конца?

Alexander
03.04.2018
05:39:56
что значит "с конца" ?

Theta
03.04.2018
05:39:59
то есть с самого nil, дальше следующий cons, следующий cons и так далее...
до последней головы

Alexander
03.04.2018
05:40:48
ну ты должен их пройти и сформировать
но именно это запретит списку быть бесконечным

Theta
03.04.2018
05:41:29
повторяюсь, никто не говорил что реализация строгого списка должна поддерживать бесконечность

Alexander
03.04.2018
05:41:54
> Якобы его строго нельзя определить так как заранее он не известен и может быть бесконечен.

Theta
03.04.2018
05:42:32
ну... это он уже потом ляпнул. Но... если говорить о конечных строках то можно

Alexander
03.04.2018
05:42:47
смотри, ты можешь сделать структуру:
let x = repeat' 0
repeat' x = let t = a :> repeat' x in a
но вычислить её до WHNF нельзя, т.к. у тебя WHNF = NF

Theta
03.04.2018
05:43:42
про whnf непосредственно на собеседовании не говорили однако

Google

Alexander
03.04.2018
05:44:15
@odomontois а во всяких камлах и ML же для бесконечных используется термин кодата и косписки?
т.е. то, что структуры данных из коробки могут коструктурами быть это чисто особенность haskell
строгую конечную структуру организовать конечно же можно

Oleg
03.04.2018
05:45:58

Alexander
03.04.2018
05:46:15
это тоже

Oleg
03.04.2018
05:46:18
co- это для теортипных любителей
Потому что если ты не собираешься что-то доказывать, для тебя это ну просто версия данных, по которой можно с O(1) памяти пройтись

Theta
03.04.2018
05:59:18
WHNF это например (1 + 1, 2 + 2). Соответственно, если бы кортеж был строгий, программа тутже, до возвращения кортежа, вычислила бы 1+1 и 2+2, и затем вернула конечный результат в NF... ну и... всё реализуемо вроде

Alexander
03.04.2018
06:01:54
если у тебя какой-то матчинг и т.п., то ты делаешь вычисление до WHNF (даже с irrefutable patterns)
т.е. так язык работает
если у тебя структура строгая, то WNHF = NF
например strict list, (# ,#) и прочие звери

Theta
03.04.2018
06:03:15

Alexander
03.04.2018
06:03:52
я не понимаю тебя
чтобы вычислить агрумент нужно вычислить конструктор сначала (или irrefutable pattern)
бенг говорит, что агрумент вычисляется тогда же когда вычисляется конструктор

Theta
03.04.2018
06:04:33
ну допустим
foo a! = a*a
ну?

Google

Theta
03.04.2018
06:04:42
и?

Alexander
03.04.2018
06:05:11
и это мешает бесконечному строгому списку вычислиться

Theta
03.04.2018
06:05:29
ОПЯТЬ ТЫ ПРО БЕСКОНЕЧНЫЕ СПИСКИ...
ну блиин)
причём тут они?...

Alexander
03.04.2018
06:06:28
при том, что они очевидно были частью вопроса

Oleg
03.04.2018
06:06:38
Сколько собеседований уже провалил @ThetaFelius в этом чате?

Theta
03.04.2018
06:06:59

Alexander
03.04.2018
06:07:02
про то, можно ли сделать конечный строгий список - можно конечно

Theta
03.04.2018
06:07:14

Alexander
03.04.2018
06:07:37
ну так об этом надо было бы и сказать им, что извините не понял что мы говорим о списках совпадающих по свойствам со списками в haskell

Theta
03.04.2018
06:07:40
По-моему очевидно что строгих бесконечных списков нет O_o

Oleg
03.04.2018
06:09:53

Theta
03.04.2018
06:10:30
я имею в виду стандартный прелюдный list
Ты про это чтоли?
data Stream a = Cons a (Stream a)
А он строгий?

Oleg
03.04.2018
06:11:25
Вот тот tie knot, если я правильно понял, о чём котором говорили посоны выше , легко делается с мутабельной структурой.
Циклические связные списки в C не редкость

Theta
03.04.2018
06:11:53
ну про c мы не говорили...

Oleg
03.04.2018
06:12:04
Я тоже не говорил
Я говорил, что бывают строгие бесконечные

Google

Oleg
03.04.2018
06:13:08
Ты сам прыгаешь с определения на определение. То говоришь о какой-то общности, то о чём-то очень конкретном, в ракурсе чего твои предыдущие замечания теряют смысл

Theta
03.04.2018
06:17:13
извини, но ты говоришь какие-то странные вещи... думаю админ ответил вполне адекватно.
про общности я не говорил. с определения на определение не прыгаю

Alexander
03.04.2018
06:17:42
для узла нужна или ленивость или мутабельность вроде как

Theta
03.04.2018
06:18:19

Alexander
03.04.2018
06:18:35
tying the knot
техника
позволила бы сделать циклическую строгую структуру
тогда бы она была и строгая и бесконечная

Theta
03.04.2018
06:20:27
а... понятно. прочёл. очевидно. Ну ясен хрен не стоит ждать этого от строгих списков
или можно?
O_o
а... вкурил

Alexander
03.04.2018
06:21:53
не думаю, правда, что на собеседовании про это говорили

Theta
03.04.2018
06:21:56
с другой стороны, будучи строгим, такое шаманство должно уйти в бесконечную рекурсию разве нет?

Alexander
03.04.2018
06:22:14
кстати с ненулевой вероятностью собеседовавшие могут быть тут
в строгом иммутабельном языке - такое шаманство невозможно

Theta
03.04.2018
06:23:01
чёт тот тип сливается. отвечает вопросами на вопросы O_o

Alexander
03.04.2018
06:23:02
т.е. или мутабельность или её урезанную форму надо иметь

Google

Alexander
03.04.2018
06:23:48
если интерью не поставлены на поток, то можно не удивляться что сложно с формулировками
когда я общался с интернами, то первые разговоры например очень сложно шли

Theta
03.04.2018
06:24:24

Alexander
03.04.2018
06:24:54
не, если ты не показываешь структуру целиком то вычислять нечего
у тебя же все в WHNF будет
т.е. будет тот самый linked list

Theta
03.04.2018
06:25:25
А, ты вон про что...
мдя. ладно. Щас тоже не спал нихрена тут не сообразил сразу)
ну может здесь и не оно)
ок

Alexander
03.04.2018
06:27:26
не знаю
не хочу на людей наговаривать
я подозреваю, что в вопросе можно ли сделать был разговор о том, будет ли оно обладать свойствами Haskell структуры или такими же как у списка

Theta
03.04.2018
06:28:09
ну... один пример привёл, но не только это странным было. Просто это хотябы техническая сторона вопроса.

Alexander
03.04.2018
06:28:18
неявно или в голове собеседовавшего

Theta
03.04.2018
06:28:38

Alexander
03.04.2018
06:28:52
увидел, что вы на разных страницах, скажи, вот я думал вопрос про то-то то-то ответил по этому так-то так то
поэтому в текущей постановке - то-то то-то

Theta
03.04.2018
06:32:01
Ну чёт он как-то не ответил явно, "да, конечные структуры рекурсивные могут быть строгими, но я говорил про..." вместо этого чёт вопросом на вопрос ответил :D
>Есть тип Test Int32 (List Char). Могу ли я распаковать тип List?
какой-то слив ?
(ну таки ответ очевиден и я развёрнутый ответ ему дал, в зависимости от ленивости ?)