
Dmitry
02.08.2018
09:37:32
wiki ?
Это где?

Yuriy
02.08.2018
09:38:16
странный ворнинг
λ> data T = A{x :: Int, someOtherFields :: Bool} | B
λ> let f a@A{x} = a{x = x + 1}; f B = B
<interactive>:12:16: warning: [-Wincomplete-record-updates]
Pattern match(es) are non-exhaustive
In a record-update construct: Patterns not matched: B
я всего лишь использовал A после проверки на A. как это делать правильно?

Aleksey
02.08.2018
09:38:26
wiki ?
https://github.com/ruHaskell/ruhaskell/wiki

Google

Yuriy
02.08.2018
09:41:18
но здесь точно всё ок
вот так сработало, но это немного странно пахнет, по-моему
f a@A{x, ..} = A{x = x + 1, ..}; f B = B

A64m
02.08.2018
10:09:01
не знаю, чего вы удивляетесь, информация о том, что проверилась "внешним" матчем во внутренний не передается же
> foo xs@(_:_) = case xs of {(h:_) -> Just h}; foo [] = Nothing
<interactive>:17:16: warning: [-Wincomplete-patterns]
Pattern match(es) are non-exhaustive
In a case alternative: Patterns not matched: []

Yuriy
02.08.2018
10:13:08

Leonid
02.08.2018
10:13:11
@qnikst а в катипе же нельзя поменять уровень месседжей у скрайба?. Типа по сигналу ставить DebugS?

Yuriy
02.08.2018
10:14:16

Alexander
02.08.2018
10:14:59
свой напиши и меняй

A64m
02.08.2018
10:15:40
тест покрытия у матчинга очень тупой и полезность его сомнительна - потому его ворнинги по умолчанию и не включены

Alexander
02.08.2018
10:16:59

Yuriy
02.08.2018
10:18:29

A64m
02.08.2018
10:19:34

Google

Yuriy
02.08.2018
10:20:14

A64m
02.08.2018
11:42:42
> I'm currently working on an unofficial guide to GHC's extensions, aimed towards beginners who are wondering what the hell is going on.
надеюсь он будет состоять из одной строки: ЧИТАЙ ГХЦ-МАНУАЛ!!1111
(совсем не надеюсь, на самом деле)

Dmitry
02.08.2018
11:45:37
"Next 24 days of GHC Extensions" ?
"Honey moon of GHC Extensions" ?

Aleksey
02.08.2018
11:46:41
GHC Manual слишком большой, искать по нему сложно, если не знаешь названия расширения или хотя бы раздела, в котором искомое может быть. А помнить всё ещё сложнее

? animufag ?
02.08.2018
11:47:47
ну видимо подразумевается что нужно читать и перечитывать как когда-то страуструпа всем рекомендовали для плюсов
тип в какой-то момент эта мешанина текста заструктурируется

Aleksey
02.08.2018
11:48:22
Сомневаюсь

A64m
02.08.2018
11:49:29
описание экстеншенов 200 страниц (причем все читать не надо), но хаскелисты лучше прочитают больше страниц всякого говна, которое напишет кто угодно, только не тот, кто что-то знает про экстеншены

Dmitry
02.08.2018
11:51:32
Надо экспертную систему делать. Вопросно-ответную. Задаёт ряд наводящих вопросов, выдаёт нужные расширения.
- хотите ли вы не писать T.pack "some string", а сразу фигачить "some string"
- нууу, наверное, да.
- попробуйте OverloadedStrings

Евгений
02.08.2018
11:53:17
GHC Manual разросся и стал очень неудобным

Dmitry
02.08.2018
11:53:38
https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html
Всего-то ~100 расширений

Евгений
02.08.2018
11:53:48
Нужен какой-нибудь метамануал по экстеншонам

Dmitry
02.08.2018
11:53:57
Даже можно без экспертной системы обойтись

Евгений
02.08.2018
11:54:03

A64m
02.08.2018
11:56:27
конечно посоветовали сразу шизовый материал Диля, где, к примеру, есть адовая таблица где экстеншены классифицированы на "дженерал" и "специалайзед"

Dmitry
02.08.2018
11:57:03
Дайте ссылку

A64m
02.08.2018
11:57:30
за публикацию этой ссылки я бы банил, например

Dmitry
02.08.2018
11:57:43
Ну ладно :)

Google

A64m
02.08.2018
11:59:07
где, к примеру, лямбда-кейс классифицирован как "общий" а мульти вей иф как "специализированный"
или гадт дженерал, а семейства специалайзед

Евгений
02.08.2018
11:59:22

Dmitry
02.08.2018
11:59:29
А что значит, общий/специализированный?

A64m
02.08.2018
12:00:07
да ничего не значит, как видно из примеров. Диль поехавший просто

Евгений
02.08.2018
12:02:40
Мне кажется расширения сложно делить как-то. Ну то есть яркие примеры расширений системы типов и синтаксического сахара. Но это не покрывает всё, а во вторых грань тонка

A64m
02.08.2018
12:03:45
или списк "опасных" экстеншенов
где в одной куче реально опасные вроде
OverlappingInstances
IncoherentInstances
недоделанные, которые могут убрать в любой момент
ImpredicativeTypes
задепрекейченые но безвредные
DatatypeContexts
и просто безопасные
AllowAmbigiousTypes

Leonid
02.08.2018
12:05:44
ой, я и не знал что в ghc есть BinaryLiterals

A64m
02.08.2018
12:06:27
еще есть экстеншоны которые он называет "историческими" вроде DatatypeContexts. Но там почему-то DoRec и TraditionalRecordSyntax

Dmitry
02.08.2018
12:06:37
0x0.1p12 is the same as 256

A64m
02.08.2018
12:07:10
как вам такой перл, к примеру?
> TraditionalRecordSyntax - Traditional record syntax was an extension to the Haskell 98 specification for what we now consider standard record syntax.

Dmitry
02.08.2018
12:08:05
Оно ж как бы встроено по умолчанию?

Dmitry
02.08.2018
12:08:15
И надо -XNoTraditionalRecordSyntax

A64m
02.08.2018
12:09:15
ну понятно, потому что это новый экстеншон, который сделали, когда новые рекорды для хаскеля обсуждались лет 5 назад - чтоб можно было стандартные рекорды выключать - все что диль написал про него - полная ахинея
каких только литералов не понаделали уже, а сстроковых литералов, в которых эскейпить ничего не надо до сих пор нет

Dmitry
02.08.2018
12:12:35
А как не эскейпить-то?

Alexander
02.08.2018
12:14:04
и никакой мануал от этого не спасет

A64m
02.08.2018
12:14:50
А как не эскейпить-то?
ну как в F# каком-нибудь есть
If preceded by the @ symbol, the literal is a verbatim string. This means that any escape sequences are ignored, except that two quotation mark characters are interpreted as one quotation mark character.
Additionally, a string may be enclosed by triple quotes. In this case, all escape sequences are ignored, including double quotation mark characters.

Dmitry
02.08.2018
12:15:22
Годно

Google

Yuriy
02.08.2018
12:27:23

Alexander
02.08.2018
12:31:59
о у нас такие экспертные системы в блогах и твиттерах живут


A64m
02.08.2018
12:42:36
Addressing Functional Dependencies and instance overlaps and their interplay just doesn't fit with the direction of travel for GHC. Indeed the difficulties and disfluencies in GHC's behaviour wrt those extensions -- that were apparent from over a dozen years ago -- have received no love.
If I'm frank with myself: GHC-Haskell is no longer the language through which I became enthusastic about Functional Programming. Still the records system is an embarrassment. (How many attempts have there been to make progress?) Meanwhile GHC has become bloated with abstruse features. Most of those features are of small benefit to me. Each seems to have come with significant downsides in added complexity and impenetrable error messages -- even when I didn't think I was using that extension. QuantifiedConstraints, which I had high expectations for, has turned out a damp squib. The pointy-heads have taken over the asylum.
Now that I've discovered it's not so difficult to hack (some) compiler, I'm going back to a simpler Haskell vintage ~2006.

Admin
ERROR: S client not available

Alexander
02.08.2018
12:52:20
это кто?

Leonid
02.08.2018
12:54:45
этот, который hugs хотел

A64m
02.08.2018
13:07:41
не тот
Клайден, который AntC

Leonid
02.08.2018
13:12:59
так он же вроде больше не релевантен для "комьюнити"

A64m
02.08.2018
13:13:34
не понял

Leonid
02.08.2018
13:13:52
AntC библиотек не пишет, в ghc не контрибутит. не?

A64m
02.08.2018
13:14:15
он активный участник обсуждений же

Leonid
02.08.2018
13:14:33
как Картер?

A64m
02.08.2018
13:15:51
да, вроде того

Евгений
02.08.2018
13:16:11
Норм, вспоминается сразу спор об уставе на втором съезде РСДРП

Terminator
02.08.2018
18:56:03
@argenetix будет жить. Поприветствуем!

Index
02.08.2018
20:51:00

A64m
02.08.2018
20:51:44
не знаю

Terminator
03.08.2018
08:38:10
@js_monk будет жить. Поприветствуем!

Artem
03.08.2018
08:41:26
Добрый день, коллеги!
Хочу поинтересоваться у людей, которые писали на Haskell web apps. Какие библиотеки или транспилируемые языки вы использовали на frontend(желательно связанные с Functional Programming)?
Заранее спасибо :)

Google

Ilya
03.08.2018
08:43:15
А что такое "транспилируемые"?

Index
03.08.2018
08:44:41
Значит target language компилятора высокоуровневый язык
например JS

Ilya
03.08.2018
08:45:28
Ок, век живи, век учись

kana
03.08.2018
08:47:56
потом транспилил его в жс
жс в жс - будущее

J
03.08.2018
08:54:30

Index
03.08.2018
08:55:34
full stack PS подразумевает ноду на бэкенде?
зачем так жить

A64m
03.08.2018
08:55:47
нужно чтоб оправдать то, что он не оптимизируется и адово тормозит

Terminator
03.08.2018
09:00:14
Maxim Gurskoy будет жить. Поприветствуем!

Aleksey
03.08.2018
09:06:58