
? animufag ?
17.08.2018
13:20:40
с сервантом

Alexander
17.08.2018
13:20:43
вроде не запрещает, но многие фреймворки не умеют
мало
я просто грепнул по 405

Google

Alexander
17.08.2018
13:21:15
сначала по status405, но оказалось что там err405

? animufag ?
17.08.2018
13:21:43
аа
грепнул по локальным сорцам?

Alexander
17.08.2018
13:23:11
сначала по гитхабу, потом склонировал
и.к. с первого раза не нашел, вообще поиск на гитхабе меня расстраивает
все равно локальный сервант полезно, наверное он у меня даже пару раз склонирован...

Denis
17.08.2018
13:35:19

Leonid
17.08.2018
13:47:48
я не готов тратить время на ваше образование в чате.

Denis
17.08.2018
13:52:43

Pavel
17.08.2018
13:52:44

Leonid
17.08.2018
13:53:56
это чат про копьютерную графику?

Denis
17.08.2018
13:55:07

Pavel
17.08.2018
13:55:08

Google

A64m
17.08.2018
13:56:11

? animufag ?
17.08.2018
13:59:04
тем временем у меня 400 без body а значит он не может распарсить запрос

Alexander
17.08.2018
14:05:26
ну 503 на то даётся
вообще Get с боди раньше в серванте работал
может убрали

? animufag ?
17.08.2018
14:06:15
не, скорей всего и сейчас работает
просто я когда тестил уже поставил пост

Alexander
17.08.2018
15:13:29
data Lol = Lol (forall a . a)
mkLol = Lol . unsafeCoerce
из реального проекта
правда наверное не выживет
а что вы делаете, если какие-то люди написали:
module Foo (bar) where
bar :: Baz -> ...
data Baz = Baz ...
?

Imants
17.08.2018
15:31:08
open issue
?

Yuriy
17.08.2018
15:33:38

Alexander
17.08.2018
15:40:05
есть
это типа специально
чтобы использовали только специально обученными функциями а свои не писали

Yuriy
17.08.2018
15:40:46
тогда всё логично
нет
логично в таком случае экспортировать тип без конструктора
ты об этом?

Alexander
17.08.2018
15:41:28
да

Google

Yuriy
17.08.2018
15:41:40
да, редиски
пуллреквестируй

Alexander
17.08.2018
15:41:48
я вообще считаю что обязан быть Internal где экспортировано все

Yuriy
17.08.2018
15:42:42
чтобы вместо исправления библиотеки костыли вмерзали в твой код?

Alexander
17.08.2018
15:43:47
нет, конкчно
потому что есть 100500 случаев о которых ты не подумал
и решил за пользователя что ему надо, а что нет

Yuriy
17.08.2018
15:46:39
а мне что-то внезапно захотелось локальных нэймспэйсов
do
Some{.. as In} <- getInput
x <- fx In.x
y <- fy In.y
pure Some{..}

Alexander
17.08.2018
15:47:11
ты и без In написать можешь
только warning отключи

Yuriy
17.08.2018
15:47:43
со (<-) да, а если где-то let x = fx In.x?
хм. <- pure можно

Yuriy
17.08.2018
15:48:28
а если вообще не в монаде, а в let/where?
modFoo Foo{.. as In} = Foo{..} where x = f In.x — такая идея

Alexander
17.08.2018
15:51:10
вообще не плохо для меня

Yuriy
17.08.2018
15:51:35
понятно, что даже чистый код можно через do написать
нет, не всегда
если есть взаимные зависимости, то ёк
x = f1 In.x In.y
y = f1 In.x In.y
если написать x <- pure $ f1 x y, то старый x исчезает

Google

Yuriy
17.08.2018
15:55:48
можно более общий синтаксис сделать
where
namespace In where
Foo{..} = input
y = z
чтобы произвольные идентификаторы объявлять, не только поля

A64m
17.08.2018
15:55:51
в нормальном языке должны быть модули любой степени вложенности (и рекорды должны быть модулями)

Yuriy
17.08.2018
15:56:16

A64m
17.08.2018
15:56:27
вместо этого в хаскеле теперь 256 костылей для "модуляризации" "рекордов"
такой существует?
с вложенными модулями существуют, но они по другим причинам ненормальные.

Abbath
17.08.2018
15:57:45
В крестах можно неймспейс в неймспейсе

Yuriy
17.08.2018
15:58:09

A64m
17.08.2018
15:58:12
неймспейс в неймспейсе и в хаскеле можно

Admin
ERROR: S client not available

A64m
17.08.2018
15:58:18
речь-то про модули

Yuriy
17.08.2018
15:58:52
в плюсах структура сама является нэймспэйсом из коробки

A64m
17.08.2018
15:59:55
ну после дупликейт рекорд филдс и в хаскеле рекорд является своего рода неймспейсом (для него правда штатная квалификация не работает по странной причине)

Yuriy
17.08.2018
16:01:09

A64m
17.08.2018
16:01:10
это все костыли для нормальных модулей, что "объекты", что хаскельные "рекорды"
как вообще об этом можно не догадаться

Abbath
17.08.2018
16:03:22
Ладно, прочитаю книгу дракона и запилю язычок с модулями all the way down

Yuriy
17.08.2018
16:03:50
обратно совместимый со всеми расширениями GHC

Google

Abbath
17.08.2018
16:04:28
Да

A64m
17.08.2018
16:05:49
во время всех рекордовых обсуждений в хаскеле, всегда дискутируют два типа людей
1) "практики" которые хотя протащить рекорды как в индустриальном говноязыке с TDNR и селекторами через точечку
2) пришельцы с нептуна, которые только отряхнули азотный лед с щупалец и еще не видели рекорды ни в одном языке вообще, и хотят изобрести их полность с чистого листа
изредка звучат предложения "а чего бы не посмотреть как делают рекорды-то?" от янга какого-нибудь, который даже писал обзор рекордов в урвеб, но это все обычно просто игнорируется

Abbath
17.08.2018
16:07:39
@A64m_qb0 веди блог
Я б читал

Yuriy
17.08.2018
16:11:57

Ilya
17.08.2018
16:14:57

Alexander
17.08.2018
16:43:21
@A64m_qb0 а какие должны быть модули?

A64m
17.08.2018
16:45:23
неизвестно, это все еще активный ресерч
миксины, наверное

Alexander
17.08.2018
16:45:46
а какие свойства точно нужны?

A64m
17.08.2018
16:47:41
они должны быть частично определенные, т.е для чего-то только сигнатуры есть, взаимную рекурсию должны поддерживать и быть первоклассными, т.е. чтоб в любом выражении их можно было сконструировать/испортировать
т.е. леннартовские вайлдкарды были бы обычным импортом/применением анонимного модуля к сигнатуре

Alexander
17.08.2018
17:10:46
кажется мне надо читать больше статей

Denis
17.08.2018
17:16:32
@A64m_qb0 c 40-вой минуты)
со всем согласен?
https://www.youtube.com/watch?v=rGxdc0KMnc4&feature=youtu.be

Terminator
17.08.2018
17:43:41
@fshp1991 будет жить. Поприветствуем!

Евгений
17.08.2018
17:56:32

A64m
17.08.2018
17:57:20
рекорды, это первоклассные модули в которых типы нельзя объявлять

Ilya
17.08.2018
17:58:11
Рекорды с первоклассными типами? Как в агде?

Евгений
17.08.2018
18:00:20
Ну модули это второклассные рекорды же
Не очень понятно как сделать объявления типов первоклассными