@haskellru

Страница 1426 из 1551
Yuriy
28.08.2018
15:08:39
хотя от изменения порядка вычисления не должно ничего меняться, кроме потребления памяти

Алексей Ayaye :)
28.08.2018
15:08:53
Догадываюсь, что при отладке рантайм-ошибок пошаговая отладка будет менять порядок эвалюэйшона и может привести к гейзенбагам
пошаговость не должна. вот наблюдение значений теоретически может. хотя, если отладчик позволяет только наблюдать вычисленное, а не вычислять новое

Ilya
28.08.2018
15:11:05
вот так и получится квантовый отладка (когда наблюдение влияет на процесс)
это не квантовая отладка как раз, меняться должен не (только) процесс, а конечный результат

Google
Yuriy
28.08.2018
15:11:08
Упасть может, если посчитать что-то не то
если оно всё равно вычисляется в программе, то всё равно упадёт, неважно, когда. а если в программе есть задумка, которая никогда не должна вычисляться, это что-то странное (хотя я такое использовал разок)

Ilya
28.08.2018
15:11:29
а вот в c++ у меня было один раз, что добавление отладочного принта меняет результат работы кода (физические вычисления)

Yuriy
28.08.2018
15:12:31
Ilya
28.08.2018
15:12:56
в тот раз по-моему просто была проблема в Ofast

Dmitry
28.08.2018
15:23:52
хотя от изменения порядка вычисления не должно ничего меняться, кроме потребления памяти
К сожалению, может ? Потому что есть ленивое IO. Такой код не работает в Haskell: readFile file >>= writeFile file Но если полностью зафорсить вычисление результата readFile перед writeFile, то будет работать безупречно.

Mikhail
28.08.2018
15:25:04
Т.е. порядок монадических эффектов не гарантируется?

Yuriy
28.08.2018
15:25:40
Т.е. порядок монадических эффектов не гарантируется?
монадических — гарантируется, а всё, что касается unsafe, не гарантируется

Mikhail
28.08.2018
15:26:54
Стандартные IO эффекты unsafe?

Yuriy
28.08.2018
15:27:21
Стандартные IO эффекты unsafe?
нет, только с lazy IO проблемы

Alexander
28.08.2018
15:27:27
Есть еще волшебный error

Yuriy
28.08.2018
15:27:49
Есть еще волшебный error
что в нём волшебного?

Google
Mikhail
28.08.2018
15:28:11
>>> Такой код не работает в Haskell: readFile file >>= writeFile fileПочему?

Yuriy
28.08.2018
15:29:05
>>> Такой код не работает в Haskell: readFile file >>= writeFile fileПочему?
эффект readFile — не прочитать весь файл, а открыть файл и читать по требованию

Alexander
28.08.2018
15:29:20
Yuriy
28.08.2018
15:30:17
он не в монаде
скорее, наоборот, меньше монад — меньше магии

Alexander
28.08.2018
15:32:03
суть в том что в зависимости от порядка вычислений он может либо вычислится либо нет

Yuriy
28.08.2018
15:32:47
звучит как unsafePerformIO
там внутри нет такого

Alexander
28.08.2018
15:33:47
это нормально для любого ленивого вычисления
да, но не очень хорошо когда в зависимости от порядка вычисления у тебя либо bottom либо нет

Misha
28.08.2018
15:35:24
вот кстати не помогло! очень интересно stm и async не профилируются типа
как обычно я ступил - сделал cabal init вместо cabal sandbox init

Alexander
28.08.2018
15:36:17
такое в реальных программах случается?
а есть принципиальная разница?

Yuriy
28.08.2018
15:36:19
да, но не очень хорошо когда в зависимости от порядка вычисления у тебя либо bottom либо нет
если у тебя bottom в каких-то случаях, то либо программа недописана, либо тебе именно это и нужно

а есть принципиальная разница?
да, это либо полезно, либо невозможно

Alexander
28.08.2018
15:36:54
если у тебя в ленивом языке что то зависит от порядка вычисления то ты делаешь что то не то, аксиома же

Yuriy
28.08.2018
15:37:26
нет, ленивый порядок вычисления — это один порядок

Alexander
28.08.2018
15:37:33
да, это либо полезно, либо невозможно
определять "невозможно" состоянием на текущий момент времени странно

Yuriy
28.08.2018
15:38:44
сам принцип ленивого выисления ни от чего не зависит. в конкретные запусках вычисленность задумок зависит только от того, были ли они запрошены

Alexander
28.08.2018
15:39:26
демамогию разводишь ведь

Google
Yuriy
28.08.2018
15:40:14
демамогию разводишь ведь
нет, ты начал со странных тезисов, я пытаюсь вытащить из тебя обоснование

Alexander
28.08.2018
15:41:13
что вот это значит?
значит что вернется либо значение либо bottom

Yuriy
28.08.2018
15:41:41
значит что вернется либо значение либо bottom
докажи, что это зависит от порядка вычисления в Хаскелле

Ilya
28.08.2018
15:42:43
а что в хаскеле порядок вычислений можно менять?

Pineapple
28.08.2018
15:44:38
Ну то есть правила по которым опрелеяется что и в каком порядке будет вычислено фиксированны, но если менять программу, то изменения порядка вычислений могут быть весьма дальнодействующими

A64m
28.08.2018
15:48:15
скорее, пошаговое выполнение будет выглядеть как хаотическое
шагать локально, и не будет особых выпрыгиваний непонятно куда

я в курсе, что гхци отладчик принято ненавидеть, но это полезная фича для недоразработки в недорепле

A64m
28.08.2018
15:51:40
да

Ilya
28.08.2018
15:52:07
интересно почему

и где тогда нормальный репл

Oleg
28.08.2018
15:52:43
ни где

A64m
28.08.2018
15:53:23
в скриптах вроде лиспа, но такое суповое программирование не для хаскеля, конечно

конечно, есть фичи которые и в хаскельном репле не помешали бы, но в гхци их нет

Alexander
28.08.2018
16:12:19
там внутри нет такого
unsafeInterlealveIO там

Yuriy
28.08.2018
16:12:47
Google
Alexander
28.08.2018
16:13:01
а в readFile

я неверно значит тред распарсил

A64m
28.08.2018
16:31:48
да x86 гхц все равно ничего не соберет

Admin
ERROR: S client not available

A64m
28.08.2018
16:32:11
просто памяти не хватит

Mink
28.08.2018
16:35:59
Хорошо, что у разрабов ghc нет такого стремления избежать успеха, и вроде 8.6 будет работать на x86

A64m
28.08.2018
16:40:42
продолжит ничего не собирать

Евгений
28.08.2018
16:41:15
Зачем нужна поддержка x86? Вы бы ещё pdp-11 просили

Попосту теряют время разработчиков

Oleg
28.08.2018
16:44:24
на виндовс ещё

Mink
28.08.2018
16:45:10
Мне вот нужна, хотя бы в рабочее время

Евгений
28.08.2018
16:47:12
Мне вот нужна, хотя бы в рабочее время
Это не ответ на вопрос зачем

Mink
28.08.2018
16:49:44
Это не ответ на вопрос зачем
Развлекаться в рабочее время, зачем еще нужен хаскель?

Евгений
28.08.2018
16:50:14
У вас на работе 32'битная ОС?

?

Mink
28.08.2018
16:50:59
А вот по поводу "теряют время": It allocates nearly 18KB of spill slots for a simple 4 line function and doesn't even use it. Note that this doesn't happen on x64 or when making a validate build. Only when making a build without a validate and build.mk. Цитата отсюда - https://ghc.haskell.org/trac/ghc/ticket/15154

Oleg
28.08.2018
16:51:30
32 битная виндовс виста рутракер голд эдишн. Жаль, разработчики гхц не учли

Mink
28.08.2018
16:51:53
У вас на работе 32'битная ОС?
Вот только без кибербуллинга?

Евгений
28.08.2018
16:52:43
Какой уж тут буллинг, тут сочувствовать надо

Google
Евгений
28.08.2018
16:53:05
Могу посоветовать только виртуалку купить

Terminator
28.08.2018
21:30:55
@romastyi будет жить. Поприветствуем!

@Dankkkk будет жить. Поприветствуем!

Denis
29.08.2018
06:31:34
не прошло и 100 лет https://go.googlesource.com/proposal/+/master/design/go2draft-generics-overview.md

Dmitry
29.08.2018
06:38:21
Так, глядишь, к 2048-му и получим Java 2.0

Oleg
29.08.2018
06:42:43
не прошло и 100 лет https://go.googlesource.com/proposal/+/master/design/go2draft-generics-overview.md
Драфт, кстати странный. Представим, что я хочу потребовать (N, E Graph) и (N Equal). Совершенно непонятно, как это сделать в таком синтаксисе

Dmitry
29.08.2018
06:44:04
А когда дженерики появились? @A64m_qb0 , может, подскажешь?

Oleg
29.08.2018
06:45:26
В 72 Жирар придумал System F

Imants
29.08.2018
06:45:39
А когда дженерики появились? @A64m_qb0 , может, подскажешь?
Java 2004 https://en.wikipedia.org/wiki/Generics_in_Java ML 1973? https://en.wikipedia.org/wiki/Generic_programming

Dmitry
29.08.2018
06:46:54
Вроде, в конце 70-ых? В Ada

Alexander
29.08.2018
06:47:49
кстати, а есть реализации System F за пределами семейства ML?

в актуальных языках, разумеется. Не обязательно статической

Oleg
29.08.2018
06:48:10
Parametric polymorphism was first introduced to programming languages in ML in 1975_

кстати, а есть реализации System F за пределами семейства ML?
Возможно а64м быстренько объяснит тебе сейчас, что хашкел - это не МЛ

Alexander
29.08.2018
06:52:20
Лучше не надо я и так верю что он может

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