@haskellru

Страница 1351 из 1551
Dmitry
19.07.2018
07:49:15
data FingerTree a = EmptyT | Single a | Deep {-# UNPACK #-} !Int !(Digit a) (FingerTree (Node a)) !(Digit a)

Aleksey
19.07.2018
07:49:31
какой ключик нужен ещё?
https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/using-warnings.html#ghc-flag--Wincomplete-uni-patterns

Dmitry
19.07.2018
07:49:42
А мне бы 20 млрд элементов в памяти удержать

Google
Aleksey
19.07.2018
07:55:12
там же стоит глянуть на -Wall - в описании этого флага описано, какие ворнинги в него не включены

Alexander
19.07.2018
07:56:19
Dmitry
19.07.2018
07:56:31
Ну, видимо, так и придётся.

Просто не охота было баги плодить.

Alexander
19.07.2018
07:56:54
но это просто Sequence Vector

Dmitry
19.07.2018
07:57:15
Поясни, я не понял :)

Alexander
19.07.2018
07:57:34
Seq (Vector a) возьми за основу

добавление и удаление чанков будет быстрым

если по одному то тогда да, не прокатит

Dmitry
19.07.2018
07:58:55
Ну вот мне по одному, т.е. надо будет код писать для добавления в последний чанк и проверку на переполнение этого последнего чанка

Ну, в принципе, багов не должно быть слишком много, напишу уже.

Yuriy
19.07.2018
07:59:44
-Wincomplete-uni-patterns

Alexander
19.07.2018
08:00:36
препенд будет не очень

Google
Alexander
19.07.2018
08:00:46
если чанк не мувать

Dmitry
19.07.2018
08:01:10
Да мне только с одного конца

Т.е. только append

Ilya
19.07.2018
08:04:48
-Wincomplete-uni-patterns
Да, хороший ключ, буду юзать

Alexander
19.07.2018
08:07:14
а, если с одного то все проще

Aleksey
19.07.2018
08:14:11
Да, хороший ключ, буду юзать
Можно ещё это почитать

kana
19.07.2018
08:28:03
Ведь она не определена на possible argument [1..]
по идее она определена для всех значений: для [] и для (x:xs), и аргумент структурно уменьшается

Aleksey
19.07.2018
08:28:34
я на это и давил :)

A64m
19.07.2018
08:30:20
непонятно, насколько хорошо у него дела обстоят с производительностью, да и вообще с работоспособностью

Ilya
19.07.2018
08:31:04
А не про частичность

Рекурсия так и определяется, кажись

Структурное уменьшение аргумента

kana
19.07.2018
08:32:16
A64m
19.07.2018
08:32:27
смешно, конечно, переживать о частичных функциях в языке с асинхронными исключениями

Aleksey
19.07.2018
08:32:29
тут я плаваю

Google
Евгений
19.07.2018
08:35:26
Но кникст говорил, что ничего лучше асинхронных исключений не придумали

A64m
19.07.2018
08:37:19
я тут даже не критикую асинхронные исключения, а восприятие хаскеля как какого-то недопруфассистанта в котором о таких вещах надо серьезно беспокоиться.

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

не пруфассистант. все эти потуги в сторону "тотальности" в хаскеле - это как ФП на C++

Dmitry
19.07.2018
08:44:52
Буду ковырять

A64m
19.07.2018
08:45:04
по поводу тотальности length нет, она не тотальна, то, что она матчит конс и нил и аргумент у нее убывает - это не определение тотальности, а эвристика для ее проверки для строгих языков, в хаскеле такие проверки просто не верны

Ilya
19.07.2018
08:49:24
Aleksey
19.07.2018
08:49:48
Не движется

A64m
19.07.2018
08:49:49
не совсем

в той части в которой важна "тотальность" вообще не движется

Ilya
19.07.2018
08:51:11
А куда он движется

A64m
19.07.2018
08:52:16
хаскель дальше движется в сторону удобства обобщенного программирования, все еще только с минимальной безопасностью без которой просто не реально было бы обобщенно программировать

Dmitry
19.07.2018
08:59:09
А на эту тему есть где-то программы партии etc?

A64m
19.07.2018
08:59:21
конечно, там не очень внятная граница, в конце концов и пруфассистент можно использовать для "обобщенного программирования с минимальной необходимой безопасностью" те же хаскельные дженерики прототипировали на агде со включенным тайп-ин-тайп и прочим

и для хаскеля накостылена проверка завершаемости как внешний тул

но все равно видна разница между всякими идрисами-агдами и омегами-хаскелями, просто в этом пространстве дизайнерских решений маловато точек

А на эту тему есть где-то программы партии etc?
да нету никакой программы, этож не специальный план такой, просто так вышло. хаскель повернул в сторону недопруфассистантов потому, что для DPH нормальные массивы потребовались (не шутка)

Alexander
19.07.2018
09:27:29
Но кникст говорил, что ничего лучше асинхронных исключений не придумали
да иначе их костылять на каждом шагу и их поддержку в каждый тред писать и забыть о модульности

Google
Alexander
19.07.2018
09:27:33
или о зеленотредах

Евгений
19.07.2018
09:28:17
Ну это не значит, что ничего лучше не придумали. Это значит всего лишь, что в хаскеле ничего лучше нету

Denis
19.07.2018
09:39:33
а что это за такой safe? import safe SomeModule

Алексей Ayaye :)
19.07.2018
10:13:07
а что это за такой safe? import safe SomeModule
An import statement with the safe keyword results in a compilation error if the imported module is not trusted.

https://downloads.haskell.org/~ghc/7.8.4/docs/html/users_guide/safe-haskell.html

Kirill
19.07.2018
12:00:42
@qnikst а если мне под сишную либку надо делать forkProcess, то через signalProcess ртс корректно его замочит? Или есть какая-то более чудесная магия?

Alexander
19.07.2018
12:01:30
ну другой магии в Linux нету

да корректно, но смотри, там при некоторых сигналах RTS шибко быстро выходит не дампая профилировку и т.п.

а иногда и вообще ничего не делая

Admin
ERROR: S client not available

Alexander
19.07.2018
12:02:50
сноймановая обёртка над Process кстати прикольная

typed-process

советую использовать

если не использовать все равно будешь ее переизобретать

Kirill
19.07.2018
12:03:21
ну мне не чужой процесс запускать

Alexander
19.07.2018
12:03:26
а да

ну смотри

если ты форкнешься нормально, то дальше все ок

но если там всяких сишных либ много открытых MVar и т.п. можно успешно и не форкнуться

Kirill
19.07.2018
12:04:09
а "нормально" в данном случае что?

Google
Kirill
19.07.2018
12:04:16
не-не-не

мне шарить ничего не надо

Alexander
19.07.2018
12:04:28
у тебя будут 2 инстанса программы которые будут работать разумно

Kirill
19.07.2018
12:04:33
максимум String при старте передать

Alexander
19.07.2018
12:04:44
ну открытые хэндл, MVar и это все

Kirill
19.07.2018
12:04:49
а там уже осн. часть на сишной стороне

Alexander
19.07.2018
12:04:52
процессы фоновые

Kirill
19.07.2018
12:04:55
с колбаками в хацкель

колбэки живут сами по себе

ничего не шарят с другим процессом

по сути можно и на 2 бинарника распилить, но лишняя пляска

ок, спсб

Alexander
19.07.2018
12:06:31
ну смотри, если пляска не очень большая, то это может быть лучше

и кроссплатформеннр

хотя на Винде тоже форк уже тоже есть

Kirill
19.07.2018
12:10:43
ну если оно потребуется на постоянной основе, то учту конечн

Leonid
19.07.2018
12:29:14
Ну надо же! https://github.com/frasertweedale/hs-jose/commit/63b7648c8436232f086246404a97114f9fc95752

IC
19.07.2018
12:37:17
как называется свойство множества быть открытым или закрытым?

data ????? = Open | Closed -- | Both | Neither

Ilya
19.07.2018
12:39:27
А что такое закрытое? Замкнутое что ли?

IC
19.07.2018
12:40:33
да

Yuriy
19.07.2018
12:41:31
есть свойство функции быть замкнутой в подмножестве своей области определения

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