@haskellru

Страница 435 из 1551
Denis
25.09.2017
23:13:38
modifyLens f lens = runIdentity . lens (Identity . f)

setLens x = modifyLens (const x)

viewLens lens = getConst . lens Const

даже вместо . лучше #.

Google
kana
25.09.2017
23:21:40
Ну это таки более менее понятно, не очень понятно, как позиция класса в стрелке вляет на возможностью обобщения и специализации, и влияет ли вообще, то есть тема с линзами связана косвенно

Alexander
26.09.2017
06:35:50
там не в этом же вопрос был

а в том, почему любой Applicative это Functor, но любая линза это Traversal, а не наоборот.

если я верно понял

я попытался ответить на это гистом выше с которым можно поиграться

Oleg
26.09.2017
06:49:23
когда у нас тип (a -> f a) -> (b -> f b)то a -> f a у нас в негативной позиции, а f a в положительной, значит f a в негативной (1 * (-1) = -1), аналогично f b в положительной. То есть у нас f сразу и в положительной позиции, и в отрицательной
Возможно всё уже объяснили, тогда повторюсь. f в инвариантной позиции, но констрейт Functor f в контрвариантном. Поэтому независимо от того, где находится сам f справа от толстой стрелки, усиление констрейта, т.е. замена на более конкретные требования приводит к менее конкретному типу в результате

Aleksey
26.09.2017
09:16:30
На сайте fby.by повесили анонс конференции, но дата забавная :)



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

Alexander
26.09.2017
09:22:09
это потому, что сайт на правильном языке написал (извините)

Anatolii
26.09.2017
09:22:46
Google
Leonid
26.09.2017
09:23:04
Зато быстро

Anatolii
26.09.2017
09:23:32
где самый мощный вентилятор?

наброс начался

kana
26.09.2017
09:33:08
Так, там точно верная цена? 53к рф?

Dmitry
26.09.2017
09:33:33
wat

the ticket is already completed.

OMG WTF

kana
26.09.2017
09:34:50
1800 BYN ~ $925

Dmitry
26.09.2017
09:35:44
круто. интересно, что там должно происходить, что бы это было оправдано

Anatolii
26.09.2017
09:36:50
может ошибка?

Dmitry
26.09.2017
09:37:11
ну, на прошлый fpconf тоже билеты каких-то денег стоили существенных

kana
26.09.2017
09:37:52
Скорее всего ошибка на лишний ноль

Dmitry
26.09.2017
09:37:55
интересно, какова сама идея брать денег за это. я помню катался на мероприятия по опенстеку, они стоили каких-то довольно символических денег, баксов двести что ли

но профита было 0

Aleksey
26.09.2017
09:40:01
В том году около 6Круб стоил билет

Dmitry
26.09.2017
09:40:07
в мск?

Yuriy
26.09.2017
09:40:39
> Сайт fby.by пока не может обработать этот запрос > HTTP ERROR 500:

Alexander
26.09.2017
09:41:15
снойман жи ему билет и проживание нужно оплачивать

а думаете кошерная еда и жильше дешёвое?

и билет в US и обратно

Google
Aleksey
26.09.2017
09:42:09
в мск?
Билет на минскую конфу в прошлом году стоил что-то вроде 6 тыс. российских рублей - я как-то так помню

Alexander
26.09.2017
09:42:25
/me задумался про минидоклад, там тчо-то про бесплатный билет говорили

Dmitry
26.09.2017
09:42:27
бизнес-классом поди

Aleksey
26.09.2017
09:43:09
@cblp_su ты не помнишь, сколько мы платили в тот раз?

Yuriy
26.09.2017
09:43:51
не помню, но порядок такой, да

115 BYN в прошлом году

это я заплатил за раннюю голодную пташку

Aleksey
26.09.2017
09:46:51
Во! Это с обедом даже вроде

Yuriy
26.09.2017
09:46:57
у них ранние пташки без обеда!

будьте внимательны!

а поесть в округе негде

Aleksey
26.09.2017
09:47:47
Пока нет никаких пташек. И 53К - неадекватная цена для меня лично

Yuriy
26.09.2017
09:51:16
это они просто для инфоповода написали, видимо, а не для продажи

в прошлом году мне говорили > обычно все наши early bird билеты не включают обеды

Aleksey
26.09.2017
09:52:19
Практика показала, что тот же самый обед можно прикупить на месте

Alex
26.09.2017
09:55:26
если оно в спейсе, то район бгушных общаг за последний год облагородился, баров наоткрывали, наверняка и похавать есть уже где

Yuriy
26.09.2017
09:58:25
здорово, если так

Alexander
26.09.2017
10:02:03
здесь уже высказывались что 53к выглядит как многовато?

Aleksey
26.09.2017
10:19:57
/me высказался :)

Mikhail Subbotin
26.09.2017
10:34:31
Всем привет. Хотел узнать, где можно поискать вакансии для junior или даже стажера по haskell?

Google
Yuriy
26.09.2017
10:43:55
здесь

и в ruhaskell

Anatolii
26.09.2017
10:50:27


я очень засмеялся

про прод понравилось

дико извиняюсь что не по теме

Илья
26.09.2017
10:54:57
А такие книги правда есть?

Если толковые, я бы почитал

Сразу видно, что незадудно написаны

Sherzod
26.09.2017
10:57:15
похоже кто-то тупо сгенерил обложки и всё

Alexander
26.09.2017
10:57:43
это суперобложки же

Oleg
26.09.2017
10:57:57
Забыв придумать имена псевдоавторов

Denis
26.09.2017
11:31:49
https://github.com/cazala/coin-hive :D

kana
26.09.2017
12:30:07
Вау, я написал небольшие линзы без статей, попытался сам допереть, как использовать эти идентити и консты. И таки допер. И это такая классная идея. И такая странная. Я хз, как Кметт до этого дошел вообще. Он безумен.



? animufag ?
26.09.2017
12:36:06
а были наброски линз до кметта?

Denis
26.09.2017
12:36:55
а были наброски линз до кметта?
https://github.com/ekmett/lens/wiki/History-of-Lenses

Vasiliy
26.09.2017
12:37:02
были

Denis
26.09.2017
12:37:21
Кто подскажет почему в Contarvariant в Predicate не сделан представитель Monoid?

вроде просто же

Google
Denis
26.09.2017
12:37:41
instance Monoid (Predicate a) where mempty = Predicate (\_ -> True) mappend (Predicate x) (Predicate y) = Predicate (\t -> x t && y t)

? animufag ?
26.09.2017
12:38:17
и почему не назвать type Lens fromContainer fromValue toContainer toValue

Denis
26.09.2017
12:38:19
и можно писать так p = foldMap Predicate [(>5), (<20)] filter (getPredicate p) [0..30]

? animufag ?
26.09.2017
12:38:28
почему это всегда так сложно

Vasiliy
26.09.2017
12:38:47
я так понимаю, линзы в виде traverse предложил twan van laarhoven

Denis
26.09.2017
12:39:35
твой треугольник это &

Vasiliy
26.09.2017
12:39:57
как-то там потом доказали, что (a -> f b) -> s -> f t изоморфно (s -> a, s -> b -> t)

и почему не назвать type Lens fromContainer fromValue toContainer toValue
я лично читаю буквы s и t в Lens s t a b как source и target, вполне норм

Denis
26.09.2017
12:42:01
гляньте доклад Кметта

Ilya
26.09.2017
12:42:09
глянь в Data.Function, там есть флипнутый оператор применения

kana
26.09.2017
12:42:38
Ilya
26.09.2017
12:42:52
а вообще интересно, на какой клаве ты это набирал

kana
26.09.2017
12:43:19
Это FiraCode шрифт с лигатурами от Тонского

? animufag ?
26.09.2017
12:43:24
глянь в Data.Function, там есть флипнутый оператор применения
я думаю это наибольшая из трудностей с которой он столкнулся. если бы он заранее знал что есть такая функция то дело шло куда быстрее

Alexander
26.09.2017
12:43:38
поэтому линзы называют van Laarhoven

т.к. Кметт их изобрёл

Ilya
26.09.2017
12:45:09
kana
26.09.2017
12:45:13
Но вот словесносное описание, писал в одной конфе: Линза - не пара из геттера и сеттера. Это ТОЛЬКО идентити, который еще запаковывает значение. Но обобщенный, то есть функции применяется к значениям не напрямую, а через функторы (что дает нам возможность внести в этот процесс идентити какой-то эффект, например изменение). Итак, что делает линза, основанная на геттере и сеттере: Линза принимает некую функцию pure', которая просто маленькое значение заворачивает в функтор (переносит в эффектфул мир). Далее линза принимает большое значение. С помощью геттера вытаскивает из него маленькое значение, переносит его в функтор через pure'. А потом применяет в эффектфул-мире (fmap) сеттер к объекту. То есть в прямом смысле вытащили значение и внесли его обратно, но сделали это в внутри функтора. И вся магия в том, что с помощью разных функторов и pure' можно делать разные вещи. Например, если сама по себе линза - такой идентити модификатор, то если отправить в нее конструктор функтора, который перед этим еще применяет к значению какую-нибудь функцию, то получится over. А если использовать Const, который позволяет обернуть значение в функтор, но потом не дает ничего с ним сделать через fmap, то на выходе мы получим контейнер с нетронутым маленьким значением внутри. Это view.

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