Cheese
я о том, что проще въехать в раст, чем научится хаскелю, написать приложение, а потом ещё хрен пойми сколько въезжать в методы оптимизации кода на хаскеле
решить эту относительно редкую задачу — да, возможно, на Расте проще. порог входа в язык — у Хаскеля ниже
A64m
у языков с гц порог вхождения ниже, чем у языков без гц
Dmitry
@cblp_su ну как - тут вопрос, можно ли обработать 1M заявок за секунду. который распадается на вопросы - можно ли куда-то вставлять 1M заявок в секунду 2) можно ли выбирать из какой-то коллекции (двух коллекций) 1M заявок в секунду
Daniel
но, если честно, я не понимаю, нужен ли он, и годится ли он
Dmitry
ну вроде как быстрый тест показал, что да, можно
Daniel
конечно, можно
Dmitry
анбоксед вектор позволил этот сделать
Dmitry
но вопросы - а когда к нам придет gc, а как принимать этот поток заявок - они все за кадром, конечно
A64m
ну принимать сложнее
A64m
емнип я в свою хештаблицу вставлял 10М интов за 0,2 сек на коре 3-го поколения
A64m
но это не точно, по памяти
Cheese
не, мне слишком лень. жарко
а в задаче оно есть, если я правильно понял
Dmitry
ну тут хаскель не слишком просасывает другим языкам
Dmitry
может, даже наоборот
Dmitry
ну и слишком мало данных относительно алгоритмов, которые использует ts
Anonymous
у нас есть поток заявок типа "куплю N1 единиц валюты V1 за N2 единиц валюты V2"
может, группировать заявки по валютам и диапазонам курсов, и пересылать програмкам, которые крутятся на разных серверах? €/$ можно дальше разбить. по объёмам, например
Dmitry
это само собой
Dmitry
я исходил из предположения, что 1M валится уже по конкретному инструменту
Dmitry
так-то можно стакан еще и поперёк порезать, конечно. но это зависит от стратегии исполнения
Anonymous
можно группировать даже по конкретной цене
Dmitry
это зависит можно так или нельзя
Dmitry
т.е от стратегии исполнения.
Anonymous
1м заявок по одной цене - это явно будут автоматические заявки
Dmitry
ну так а кому еще нужен миллион заявок в крипте
Dmitry
только амбициозному проекту, который тащит HFT в крипту
Daniel
это палюбэ будут автоматические заявки, но речь пока не о HFT
Anonymous
здарова, товарищи как в хаскеле в регулярках вытащить из матча подстроку в скобках например, имея регулярку ^file_number_([0-9]+)\.html, вытащить число в скобках
Слава
Возможно, хаскелевский движок регулярок поддерживает именованные группы в регулярках, или хотя бы нумерованные. То есть, вы применяете регулярку, а если она заматчилась - вытаскиваете соответствующую группу и её значение.
Зигохистоморфный
https://stackoverflow.com/questions/14187577/pattern-matching-a-regex-pattern-in-haskell
Igor
Кстати интересно а как обычно реализуются regexp движки? Не на ДКА случайно? И если да, то как они реализованы в чистом функциональном Haskell ’е?
Ilya
че то я не догоняю, почему такое замыкание можно писать f a b = (a, g b) where g b = undefined a b а такое уже нельзя f = \a b -> (a, g b) where g b = undefined a b
Ilya
не вижу особой разницы, но компилятор видит
Кабачок
Не, where закрывает лямбду
Ilya
NoMonomorphismRestriction
там foo.hs:9:21: error: Variable not in scope: a | 9 | g b = undefined a b |
Зигохистоморфный
а ну тогда перенести where
Кабачок
Вот так можно f = \a b -> let g b = undefined a b in (a, g b), let — выражение
Ilya
а с where можно как-нибудь оставить?
Ilya
Зигохистоморфный
ну или let всетаки
Ilya
просто мне лямбду в ньютайп нужно запихать, поэтому первый вариант не катит
Кабачок
f a = \b -> (a, g b) where g b = undefined a b
Ilya
f a = \b -> (a, g b) where g b = undefined a b
не катит, там ньютайп вокруг лямбды
Ilya
ок, возьму let-in
Зигохистоморфный
ок, возьму let-in
а кто мешает сделать g x y = ... и юзать как g a b
Ilya
спасибо
Cheese
здарова, товарищи как в хаскеле в регулярках вытащить из матча подстроку в скобках например, имея регулярку ^file_number_([0-9]+)\.html, вытащить число в скобках
λ> :m + Text.Regex.Applicative Text.Regex.Applicative.Common λ> "file_number_2128506.html" =~ ("file_number_" *> some digit <* ".html") Just [2, 1, 2, 8, 5, 0, 6] λ> "file_number_2128506.html" =~ ("file_number_" *> withMatched (some digit) <* ".html") Just ([2, 1, 2, 8, 5, 0, 6], "2128506")
Anonymous
фантастика
Cheese
аппликативы вообще прекрасны
Зигохистоморфный
between (string "file_number_") (string ".html") (some digit)
Зигохистоморфный
только усложнил
чем? парсер комбинатором?
Cheese
да
Cheese
и явной строкой
Alex
Это же хаскельный чат
Alexander
там рядом _blah есть для такого
Ilya
там рядом _blah есть для такого
Может закрепите уже ссылку на blah в инфо чата
Alexander
надо ссылку на ruHaskell или просто какой-нибудь гист с ресурсами
Alexander
если кто организует такой - сделаю
Тык
Приветствую. Запилил таки double-conversion в builder (bytestring и text).
Тык
Распечатка 20к даблов в строгую байтстроку напрямую ~200-300 мс.
Тык
Через билдер - ~5-8 мс
Dmitry
если кто организует такой - сделаю
Так есть же: https://ruhaskell.org/links.html
Dmitry
Или там ещё ссылку на _blah надо?
Alexander
ну, да проблему упоминания _blah не решит
Alexander
а упоминать ли его в том списке вопрос сложный
кана
Anonymous
Приветствую. Запилил таки double-conversion в builder (bytestring и text).
Доброе утро Ринат, ссылку бы на пакеты..
Тык
Пока не опакетил, тестировал, добавил бенчмарков итд
Anonymous
может, на страницу https://ruhaskell.org/links.html желательно добавить ссылки на https://stepik.org/course/75/ https://stepik.org/course/693/ ?
Alexander
PR or issue?
Cheese
нужна страница со списком чатов
Cheese
и форумов заодно
Cheese
отдельно от списка ресурсов