
Denis
25.08.2017
11:19:21
вроде
или там есть всякий финалайзинг

? animufag ?
25.08.2017
11:22:01
кстати насколько гхц написан на хаскеле?
точнее: гц тоже на хаскеле?

Google

Alexander
25.08.2017
11:22:31
RTS на си
@xgrommx ну у тебя очевидная проблема, вот у тебя есть allocation area, она закончилась, твои действия?

Denis
25.08.2017
11:23:02
с--?

Alexander
25.08.2017
11:23:10
си
си— там тоже есть но повыше

Denis
25.08.2017
11:23:33

Alexander
25.08.2017
11:23:41
как это, есть
у тебя аллоцируются объекты на каждый чих
а allocation area если не выставить нормально имеет смешное значение
итого, у тебя неожиданно кончается место там, причем ты знаешь, что живых объектов скорее всего очень мало

Denis
25.08.2017
11:24:44
нашел такое)) https://github.com/Marwes/haskell-compiler

Alexander
25.08.2017
11:24:48
если GC отключить, то этот момент становится неочевидным
s/functional/fictional?

Google

Alexander
25.08.2017
11:26:02
судя по known unimplemented features
чего-то я злой сегодня :/

Donat
25.08.2017
11:41:37
fictional programming
hmm, I like that
threaded putStrLn кстати напоминает лавкрафтщину
https://www.snoyman.com/blog/2016/11/haskells-missing-concurrency-basics

Alexander
25.08.2017
11:49:06
почему?
хочешь сериализовать доступ к ресурсу или сделай лок вокруг него или выдели уникального воркера
и канал

Denis
25.08.2017
11:49:54
frictional programming

Alexander
25.08.2017
11:50:15
в katip было аккуратно сделано

Donat
25.08.2017
11:50:23
там просто было пнглуи фхтан и прочее
это? https://github.com/Soostone/katip

Alexander
25.08.2017
12:11:10
да
сижу ломаю голову над примерами в либе и не понимаю как они тайпчекаются, пока наконец не догадываюсь взять и проверить, и действительно, там:
type JSON = Text

Index
25.08.2017
13:19:25
Ужас

Denis
25.08.2017
13:45:18

Yuriy
25.08.2017
15:02:50

? animufag ?
25.08.2017
15:03:38
старая картинка. помню ещё просили пояснить
давайте ещё раз попытаемся поднять это:
я посмеялся сразу как увидел и на уровне ощущений понял шутку так что вопреки бытующему мнению сигнатура не очень помогает в понимании семантики функции
но types are lie - здесь немного неуместно

Misha
25.08.2017
15:07:08
не надо пояснять шутку, это делает ее несмешной

? animufag ?
25.08.2017
15:09:07
ну это работает для дегенеративных мэмасов.
шутку про доктора кто и аппликатив => монад можно пояснить и вроде более менее смешно. хотя не так как если бы сам её понял

Google

? animufag ?
25.08.2017
15:10:09
(сорьки если не доктор кто был, я не знаком с сериалом)

Alexander
25.08.2017
15:10:13
просто человек, несмотря на то, что он может использовать типы не пользуется их мощностью и работает как в динамическом языке, где один тип

? animufag ?
25.08.2017
15:10:23
о

Alexander
25.08.2017
15:10:26
в итоге все себе портит и приходит к выводу, что типы не нужны

? animufag ?
25.08.2017
15:10:36
ну да
так гораздо лучше звучит.

Yuriy
25.08.2017
15:10:59
блин, тут все понимают эту картинку

? animufag ?
25.08.2017
15:11:16
как видишь, я не понимал

Donat
25.08.2017
15:11:35
к слову, кто-нибудь задумывался как работают шутки?

Yuriy
25.08.2017
15:11:46
этой картинкой я прокомментировал type JSON = Text
не обязательно отвечать на ответ
кто-нибудь

? animufag ?
25.08.2017
15:13:49
там что связанное с тем что привычный ход мысли обламывается, мозг начинает искать новые пути интерпретации усылшенного/увиденного и в это время ты начинаешь чувствовать дизкомфорт/страх, потом мозг решает этот ребус и ты снова возвращаешься в комфортное состояние и впрыскиваются гормоны

Donat
25.08.2017
15:14:50
совпадает с высказыванием о том, что объяснение шутки делает её несмешной

Alexander
25.08.2017
15:15:08
повтор шутки уже делает её не смешной

Yuriy
25.08.2017
15:15:10
чаще путь шутки ещё короче: демонстрация глупости -> чувство превосходства -> удовольствие

Alexander
25.08.2017
15:15:17
=)

? animufag ?
25.08.2017
15:15:26
но пока ты её не понимаешь ты вообще такой в напряге, загоняешься

Index
25.08.2017
15:38:17
Шутки работают не так.

Google

? animufag ?
25.08.2017
15:39:50
?

Андрей
25.08.2017
15:41:37
осторожно, а то откроете формулу смеха и будет как в том произведении

Index
25.08.2017
15:44:17
Шутки -- это криптография, которая позволяет различать свой/чужой.
Когда шутку понимаешь и тебе смешно, то ты верифицируешь, что имеешь с автором общий контекст в понимании ситуации.
Почитайте про теории юмора, это исследованная тема. Зачем вообще могло появиться такое явление, эволюционно.
Поэтому объясненные шутки не смешны. Нет процедуры верификации, тебе просто рассказали какую-то вещь, которая может быть внешне тривиальной.

Donat
25.08.2017
16:42:06
в смысле, если нет консенсуса, значит всё-таки недостаточно исследованная тема

Index
25.08.2017
16:57:39
Ладно, я не смог найти пейпер, в котором изложена упомянутая мной теория, но на собственном опыте просто заметил, что вроде хорошо объясняет все шутки, которые мне кажутся смешными.

Yuriy
25.08.2017
17:11:25
похоже, что есть два вида шуток: превосходство над другим человеком
1) в неприятной ситуации
2) не принадлежащим особому кругу
2а) не знающим мем

Yurii
25.08.2017
17:53:07
Про классификацию юмора
http://www.lib.csu.ru/vch/226/007.pdf

Kirill
25.08.2017
18:48:40
Есть вот такой вот код:
readJsonText file = do
exists <- doesFileExist file
if exists then
readFile file
else
return "[]"
writeJson file value = do
print "Hello"
writeFile file $ encode value
parseJson value = either throwError return $ eitherDecode value
runApp action file = db >>= ioAction
where saveResults = either (hPutStrLn stderr) (writeJson file =<<)
ioAction = saveResults . runExcept . toIOT . (parseJson >=> evalStateT action)
db = readJsonText file
При выполнении на несуществующем файле падает вот так:
todo-list: ~/.todos: openBinaryFile: does not exist (No such file or directory)
"Hello"
ЧЯДНТ?
P.S. readFile/writeFile из lazy bytestring
P.P.S. Сильно не бейте - первый велосипед для менеджемента TODO

Alexander
25.08.2017
19:02:42
@saksmt а есть полный ход, я чего-то сходу проблемы не вижу

Dmitry
25.08.2017
19:03:47
по разному разбирают какие-нибудь относительные пути?
короче, хорошо бы путь распечатать и посмотреть
ну, например кто-то тильду расширяет, а кто-то нет

Kirill
25.08.2017
19:05:40

Dmitry
25.08.2017
19:05:51
так и есть, кстати
там есть функции, которые расширяют относительные имена файлов
и нормализуют

Google

Kirill
25.08.2017
19:06:24
я как-то не ожидал этого подвоха)
грешил на ленивость, но закоменчивание readFile не помогло и решил постучать сюда

Alexander
25.08.2017
19:08:39
doesFileExists разве расширяет?

Dmitry
25.08.2017
19:09:26
хм, нет

Alexander
25.08.2017
19:10:21
вообще из-за ленивости проблемы бы могли быть, но не такие
но расчепятать что читали полезно может быть
до "hello" тоже не доходит

Kirill
25.08.2017
19:11:47
да не, до hello как раз дошло

Alexander
25.08.2017
19:12:32
тогда я бы не сказал, что оно падает..
т.е. то что оно падает, а не исключение всередине написано - не очевидно

Kirill
25.08.2017
19:14:06
Оно падает, но после этого на попытке записи

Alexander
25.08.2017
19:15:02
а что у тебя в передается в file если нету аргументов?

Dmitry
25.08.2017
19:15:43
стоп - так это writeFile же падает?
λ> Prelude.writeFile "~/.wtfqqq" "AAA"
*** Exception: ~/.wtfqqq: openFile: does not exist (No such file or directory)

Kirill
25.08.2017
19:16:25
Ага

Dmitry
25.08.2017
19:17:18
а в чём тогда вопрос?
что-то я невнимателен

Kirill
25.08.2017
19:17:44

Alexander
25.08.2017
19:17:55
а file!
в
runApp action file <-