Anonymous
у пюрскрипта походу сертификат закончился
A64m
ничего работающего с подтипами как и самих подтипов быть вообще не должно
parket
[][+[]]+[] "undefined"
Ignat
ясно
Alexander
Alexander
точнее как это правильно зовется
Anonymous
"" это сахар для []
Alexander
в общем ghci проблемы
Anonymous
некорректная аналогия
parket
[] :: [a] "" :: [Char]
Alexander
для строк [] это "", для любого типа - ошибка типов
Ignat
String = [Char]
Кстати, почему Show для [Char] выглядит не так же, как для [Int], например?
Alexander
потому что инстанс
Ignat
то есть можно как в крестах
Ignat
ЧАСТИЧНЫЕ СПЕЦИАЛИЗАЦИИ шаблона?
A64m
можно (это опасная штука только), но тут оверлап инстансов не используется
Alexander
showList для Char
Alexander
но мысль определять типы по их show интересна
Alexander
отдает php или TCL
parket
Кто шарит JS? Почему вот это вообще работает? ++[0][0] === 1
A64m
выбираем нулевой элемент из массивас одним элементом - нулем и инкрементим
A64m
это даже и не жс специфика
parket
Да, это понятно. Но вот только ++ 0 не работает
Anonymous
это тоже не жс специфика
Anonymous
[0][0] это референс
parket
[0][0] это референс
Точно. Я просто решил что оно вычисляется в 0, а потом мы делаем ++ 0.
parket
Но это действительно реф же :) Спасибо.
Зигохистоморфный
https://twitter.com/paf31/status/933817758575337474 :D
Зигохистоморфный
https://discuss.ocaml.org/t/a-new-list-map-that-is-both-stack-safe-and-fast/865/2
Зигохистоморфный
mutable!)
Alexander
это следует
Alexander
все кто eager для быстрой работы со списками делают страдания и mutability under the hood это вполне себе вариант у них
Alexander
наверное любители eager языков должны над векторами в ленивых смеяться
A64m
вектора-то одинаковые
A64m
новая окамловская-то немутирующая
A64m
но имплементация, конечно, размером чуть ли не с блогпост про строгость и нищету списков. ~230 LOC
Зигохистоморфный
и тут внезапно https://github.com/purescript/purescript-lists/pull/135/files
A64m
mix unrolled and reverse map это как в джейнстритовском мапе что ли?
Bohdan
А хачкельный паттернматчинг умеет в аналог tr? Чтобы я символы из одной строки заменил на соответствующие символы из другой строки, а остальное _ -> _
Anonymous
перед заданием такого вопроса нужно спросить себя что такое паттерн
A64m
я смотрю, Кметт уже использует бекпак, репортит баги, отвечает на вопросы на реддите
Андрей
ребят, какой синтаксис у регулярок Text.Regex.[что угодно] для capture named group
Андрей
в доках любого бекэнда разговоры про поддержку posix, перепробовал все варианты отсюда https://www.regular-expressions.info/refext.html не идёт, жалуется на кривую регулярку
Vasiliy
на какую?
Vasiliy
в смысле, какой именно модуль на какую конкретно ругается?
Андрей
*Text.Regex.TDFA> "/foo/bar/1" =~ "\\/foo\\/bar\\/(.+)" :: [[String]] [["/foo/bar/1","1"]]
Андрей
так ок
Андрей
Text.Regex.TDFA> "/foo/bar/1" =~ "\\/foo\\/bar\\/(?P<baz>.+)" :: [[String]] *** Exception: Explict error in module Text.Regex.TDFA.String : Text.Regex.TDFA.String died: parseRegex for Text.Regex.TDFA.String failed:"\/foo\/bar\/(?P<baz>.+)" (line 1, column 14): unexpected "?" expecting empty () or anchor ^ or $ or an atom CallStack (from HasCallStack):
Андрей
то есть я пытаюсь последний сегмент урла получить как именованную группу baz, он падает
Vasiliy
ну, в доке по библиотеке явно написано, какие именно расширения оно поддерживает
Vasiliy
именованных групп там явно нет
Vasiliy
я вот сюда смотрю https://hackage.haskell.org/package/regex-tdfa-1.2.2/docs/Text-Regex-TDFA.html
Vasiliy
на приведённом сайте - https://www.regular-expressions.info/refext.html - к POSIX отношение, насколько я понимаю, не имеет ни один пример
Vasiliy
если вы хотите парсить какой-то свой лютый синтаксис - берите megaparsec
Vasiliy
если вам нужно расковырять ссылку - берите network-uri
Vasiliy
в любом случае лучше обойтись без регекспов :D
Андрей
я взял из первой таблички отсюда https://wiki.haskell.org/Regular_expressions , что оно вроде как самое то
Андрей
в любом случае лучше обойтись без регекспов :D
ну это не серьёзно, потом будет лучше обойтись без строк, без функций и ещё чего-нибудь)
Vasiliy
про любой случай я, может, перегнул
Андрей
Vasiliy https://hackage.haskell.org/package/regex-tdfa-1.2.2/docs/Text-Regex-TDFA-Common.html в CompOption точно что-то есть про captureGroups
кана
но почти всегда есть альтернативы лучше регекспов
Андрей
парсек? )
Vasiliy
но зачастую можно обойтись гораздо более простым инструментом, и не менее часто регекспов просто не хватает
Vasiliy
парсек? )
мегапарсек!
Зигохистоморфный
atto
Vasiliy
https://hackage.haskell.org/package/megaparsec
Андрей
Не, сначала с регулярками разобраться бы
Vasiliy
да чо с ними разбираться
Андрей
Ну, как видишь, даже на простой задаче встрял, куда уж там мегапарсек
igo
А есть здесь организаторы fpconf? Кого можно пнуть, чтобы они глянули письмо на почте?
Aleksei (astynax)
Именованные группы находятся сильно за пределами POSIX-регулярок
Aleksei (astynax)
Именованные группы есть в PCRE (их туда из питона утащили, внезапно (я не знал))
Alexander
а new-upload в кабал уже завезли?
Alexander
Uploading dist/distributed-process-async-0.2.4.1.tar.gz... Package successfully uploaded as candidate. You can now preview the result at 'https://hackage.haskell.org/package/distributed-process-async-0.2.4.1/candidate'. To publish the candidate, use 'cabal upload --publish'.
Alexander
наконец-то зоделали
Alexander
[qnikst@nixos:~/workspace/tweag/distributed-process-systest]$ cabal new-test Resolving dependencies... cabal: Distribution/Client/TargetSelector.hs:(355,7)-(356,55): Irrefutable pattern failed for pattern t' : _
Alexander
качественный софт говорили они...