@haskellru

Страница 1327 из 1551
Leonid
06.07.2018
14:01:51
Can't burrow immutably, mutable borrow at this point huita.rs::1488:42

Быстрое написание быстрых программ
которые лучше работают чем программы на других промышленных языках

A64m
06.07.2018
14:03:32
Когда уже люди будут учить хаскель из-за скорости, а не из желания "прочистить мозги"
никогда не понимал прочищальщиков мозгов. я хаскель выучил ради удобств

Евгений
06.07.2018
14:03:52
После ML'я-то, конечно, хаскель удобный

Google
Yura
06.07.2018
14:26:39
Друзья, есть необходимость ограничить параллелизм. Например, мы слушаем на tcp сокете в accept, на каждый connect делаем forkIO, но хочется ограничить возможность спавнить нити. Причём лучше без каналов.

Aleksey
06.07.2018
14:28:10
ref со счётчиком?

Yuriy
06.07.2018
14:28:18
-N спасёт?

Aleksey
06.07.2018
14:28:50
Я так понимаю, что нужен некий пул

Yuriy
06.07.2018
14:28:51
или нужна критическая секция?

Yura
06.07.2018
14:29:30
пулы насколько я понимаю сделаны на каналах

forkIO на каждый connect работает норм даже на высоких нагрузуках, но тут соединение прибивается по таймауту, если клиент не прибил

я вот думаю https://lwn.net/Articles/542629/ REUSEPORT использовать или что-то самому накрутить

ref со счётчиком?
это что-то вроде семафора получится?

Leonid
06.07.2018
14:35:10
@drcha0s http://hackage.haskell.org/package/async-pool-0.9.0.2/docs/Control-Concurrent-Async-Pool.html

Yura
06.07.2018
14:35:53
Page not found

:)

но я поня

Google
Leonid
06.07.2018
14:36:09
починил

Vladimir
06.07.2018
14:36:44
посмотрите на rate-limit или ему подобные на hackage а reuseport это больше для балансировки нагрузки, зачем здесь - непонятно

Yura
06.07.2018
14:41:03
посмотрите на rate-limit или ему подобные на hackage а reuseport это больше для балансировки нагрузки, зачем здесь - непонятно
ну тогда я просто делаю в памяти N нитей и каждая биндит свой сокет и на кадждый connect не надо нить spaw-нить

Leonid
06.07.2018
14:42:28
forkIO же дешевый совсем совсем. Или тебя смущают другие ресурсы?

сразу после форка пусть тред ждёт на семафоре и всё. Правда я не уверен что хаскельный семафор будит треды в том порядке в котором они в вейт встали

т.е. будут некоторые треды которые хоть и встали в вейт раньше но получат тикет позже

Vladimir
06.07.2018
14:44:38
тут пул воркеров напрашивается, если форк для вас такой дорогой

Yuriy
06.07.2018
14:46:14
Leonid
06.07.2018
14:46:32
Ааа, лол

Так там слишком много в TIMED_WAIT остаётся? Или нужно просто limit поднять?

Yura
06.07.2018
14:52:59
recurcive DNS он уже работает для UDP, сейчас туда добавляется TCP и TLS

так вот сразу закрывать TCP и TLS не получается и надо ждать десятки секунд если клиент не закрыл соединение

Yura
06.07.2018
15:38:42
в QSem
Спасибо

Andrew
06.07.2018
16:32:50
Фух. В чате про кресты пропагандировал Haskell как мог ?

Александр
06.07.2018
16:47:46
Andrew
06.07.2018
16:58:32
supapro.cxx Чат для тех, кто хоть немного знает C++, простые вопросы по реализации, синтаксису и компуктерам - сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac ?flood, pron, spam; ✅УВАЖАЙТЕ ДРУГ ДРУГА! https://t.me/supapro

Это для совсем зеленых ?

Google
Andrew
06.07.2018
16:59:00
Извините за рекламу

Андрей
06.07.2018
19:29:35
Евгений
06.07.2018
20:42:15
Лукс лайк спам

Pavel
06.07.2018
20:42:32
да это стеб про кресты

С++

Alister
06.07.2018
20:42:41
Дело в том, что характерной чертой социопатов является то, что они не умеют сопереживать, сочувствовать, испытывать чувство вины и привязанности

Антон
06.07.2018
20:44:27
shadowjack
07.07.2018
07:17:15
Если я хочу применить список функций к списку аргументов, то zipWith id fList aList - это самый нормальный способ?

A64m
07.07.2018
07:18:44
zipWith ($)

shadowjack
07.07.2018
07:19:42
ну учитывая что $ - это инфиксная форма id с низким приоритетом, то где смысл?

Pineapple
07.07.2018
07:24:18
Читаемей. Сразу видно, что речь идёт о приминении функций

kana
07.07.2018
14:36:12
ну учитывая что $ - это инфиксная форма id с низким приоритетом, то где смысл?
в том и смысл, что $ воспринимается как применение, а id более общий и нужно еще додуматься, что он будет вести себя как $

A64m
07.07.2018
16:11:43
оказывается видео с icfp 2017 все еще выкладывают

смотреть и слушать то что уже выкладывали обычно почти невозможно, правда

Yuriy
08.07.2018
06:23:02
На этой неделе новых вакансий не замечено, но вот эти ребята всё ещё нанимают: ⭐️ Biocad (@Mensh) ⭐️ HXR (@hxr_haskell_job) ⭐️ Kaspersky Lab (@cblp_su, @icrbow) ⭐️ metrix.ai (jobs@metrix.ai, @wormholio) ⭐️ Tweag I/O (@qnikst) ⭐️ Typeable.io (@catamorphism) ⭐️ getshop.tv не нанимает активно, но можно слать резюме на nickolay@getshoptv.com

A64m
08.07.2018
10:16:26
кайнды убрали - а значит самое время начинать писать книгу в которой слово кайнд встречается по бразиллиону раз на страницу

http://reasonablypolymorphic.com/types.pdf

Vitaly
08.07.2018
10:22:42
Библиография смешная

Но пусть пишет, вообще с type level программированием всё плохо, вон, well typed даже платные курсы с секретным контентом запускает.

Google
kana
08.07.2018
10:39:52
> кайнды убрали То есть? TypeInType?
да их даже без typeintype выпилили из core

Антон
08.07.2018
10:41:10
да их даже без typeintype выпилили из core
А что предлагается взамен?

Евгений
08.07.2018
10:42:55
Зашибись, хотели lazy idris, получили lazy nurpl

Антон
08.07.2018
10:43:25
A64m
08.07.2018
10:44:18
分解物質
08.07.2018
10:45:56


Admin
ERROR: S client not available

kana
08.07.2018
10:45:57
так, прошелся по ревизиям coresyn.hs, там никогда и не было упоминания каиндов, хоть @bravit111 вроде рассказывал, что были

Sergey
08.07.2018
10:47:05
типы
то есть они унифицировали работу с HKT или что, или как?

Евгений
08.07.2018
10:47:07
типы
Ага, только тайпчекинг не стопится, в отличие от старого доброго кайнд-чекинга

Sergey
08.07.2018
10:47:27
или просто вернулись к тайплевел лиспу?

A64m
08.07.2018
10:48:24
раньше было 0 :: Int :: * :: BOX терм тип кайнд сорт теперь 0 :: Int :: Type :: Type :: Type :: Type терм и типы ол зе вей даун

Vitaly
08.07.2018
10:48:32
так, прошелся по ревизиям coresyn.hs, там никогда и не было упоминания каиндов, хоть @bravit111 вроде рассказывал, что были
Так в ast они были за счёт параметров атд, операции то все те же, что и для типов

Евгений
08.07.2018
10:54:34
А какой тип у тайпклассов?

kana
08.07.2018
10:58:56
Maybe :: Type -> Type

Евгений
08.07.2018
10:58:59
Type -> Type, небось

А вот Constraint :: Type или как?

kana
08.07.2018
11:05:14
ну да, похоже, все рано или поздно попадает в Type

Google
Евгений
08.07.2018
11:49:41
Ага, универсум джирарда xD

Вообще всё-таки под универсумом обычно понимают непротиворечивые пространства типов

Антон
08.07.2018
11:54:29
Вообще всё-таки под универсумом обычно понимают непротиворечивые пространства типов
Всё-таки не совсем понимаю, почему в Haskell решили сделать вложенные универсумы?

kana
08.07.2018
11:56:27
Add * :: *. Why do this? One alternative is to go the route of Coq and Agda and have an infinite tower of type universes. But, this adds a lot of complexity. These languages take this route because * :: * makes a language inconsistent as a logic. However, Haskell is already inconsistent as a logic (because of undefined and GHC.Exts.Any) and so we don't have to worry about a new source of inconsistency. Furthermore, the type safety of Haskell does not depend on its own consistency -- unlike Coq and Agda, Haskell relies on the consistency of a coercion language, which is not threatened by * :: *.

Евгений
08.07.2018
11:56:37
Всмысле почему typeintype, а не type1 :: type2 :: type3? Я думаю, что из-за "практического" направления. "Практикам" зависимые типы нужны, в основном, как способ строить абстракции, а не инструмент доказательства корректности

Add * :: *. Why do this? One alternative is to go the route of Coq and Agda and have an infinite tower of type universes. But, this adds a lot of complexity. These languages take this route because * :: * makes a language inconsistent as a logic. However, Haskell is already inconsistent as a logic (because of undefined and GHC.Exts.Any) and so we don't have to worry about a new source of inconsistency. Furthermore, the type safety of Haskell does not depend on its own consistency -- unlike Coq and Agda, Haskell relies on the consistency of a coercion language, which is not threatened by * :: *.
На самом деле в этом тексте лукавят: в сабже была консистентность, но на уровень выше: тайп :: кайнд. Можно было развивать её дальше, сделать зависимые кайнды, индуктивные кайнды и т.д. Вместо этого получилось что получилось

Конечно люди, разрабатывающие гхц умнее меня, но умозрительно кажется, что есть вероятность, что тайп-левел магия перестанет завершаться. И мы получим не только 50гб памяти на компиляцию, но и бесконечное время

Pineapple
08.07.2018
12:06:42
UndecidableInstacnes довольно чтобы получить незавершимость

Ilya
08.07.2018
12:37:23
объясните, как это все кайнды имели сорт BOX? почему только один сорт, и что из себя представляли бы кайнды других сортов

A64m
08.07.2018
12:38:19
там же стек ограничен, так что бесконечного времени не будет

Слава
08.07.2018
12:38:38
О Box В хаскелле такое можно? http://www.eelis.net/C++/analogliterals.xhtml

Евгений
08.07.2018
12:40:38
там же стек ограничен, так что бесконечного времени не будет
Ну это если оптимизатор не свернёт рекурсию в бесконечный цикл

A64m
08.07.2018
12:42:21
какой там цикл на тайплевеле то. да и оптимизатор для коерций только

Антон
08.07.2018
13:05:07
Лол, питонисты не умеют в HOF: https://www.codewars.com/kata/525f3eda17c7cd9f9e000b39/solutions/python/all/newest

shadowjack
08.07.2018
13:25:14
Почему не могут?

Антон
08.07.2018
13:25:31
Почему не могут?
Посмотри, какое там решение в топе

Страница 1327 из 1551