Dmitry
зачем тут явная рекурсия?
Влод
Влод
Я просто никогда особо не интересовался но это же просто обход списка
Влод
Звучит как будто ты на си пишешь
Misha
и вообще надо с аккумулятором
Misha
все плохо
Dmitry
миллионы элементов в списке?
Misha
нет, их там мало и на самом деле совершенно неважно с практической точки зрения
Misha
у меня тут скорее педагогический интерес
Misha
как "красиво"
Dmitry
фолд + case
Dmitry
ну и лучше не грузиться, в хаскеле миллион способов написать одно и то же, если грузится тем, как красиво не напишешь ничего никогда.
Alexander
splitMaybes = (,) <$> mapMaybe (\(a,mb) -> (a,) <$> b)
<*> mapMaybe (\(a,mb) -> maybe a (const Nothing))
Alexander
покатит?
Alexander
хотя сложно
Alexander
splitMaybes = partitionEither . map (\(a,mb) -> maybe (Right a) (\x -> Left (a,x))
Alexander
@lolepezy ^^
Dmitry
два прохода
Alexander
это haskell
Alexander
1
SimpleX
Подскажите, как из Int# получить Int
SimpleX
Вообще не в курсе как работать с примитивами
Alexander
I# :: Int# -> Int ?
Alexander
а зачем?
SimpleX
Да я тут в HsOpenSSL хочу bignum починить
SimpleX
Там все под integer-gmp до 1.0 сделано
Alexander
(partitionEithers . map (\(a,mb) -> maybe (Right a) (\x -> Left (a,x)) mb))
:: [(b, Maybe t)] -> ([(b, t)], [b])
Misha
Alexander
{-# LANGUAGE MagickHash #-} import GHC.Exts
Alexander
и там будет I# вроде конструктор
SimpleX
А есть возможность получить указатель из ByteArray?
Alexander
я в ghc всегда смотрю
Alexander
https://hackage.haskell.org/package/primitive-0.6.2.0/docs/Data-Primitive-ByteArray.html
Alexander
хм.. хотя там прямо нет
SimpleX
Ага
SimpleX
Я там смотрел
Alexander
@lolepezy как ты делал тоже можно, только не забывай irrefutable (lazy) patterns
Alexander
~(x,y) = nextStep in somethingWith x y
Alexander
блин у меня в разных тредах как-то транзакции пересекаются и где накосячил неясно
Misha
на что это может повлиять в данном случае?
Alexander
а ты хочешь стек выживать и все вычислать сразу?
Alexander
*выжирать
Alexander
*вычислять
Misha
а
Misha
понял
Misha
то есть чтобы сделать матчинг на (,) ему надо вызвать somethingWith
Alexander
nextStep
Misha
да, пардон
Alexander
до WHNF
Alexander
т.к. поидее там _|_ может быть
Misha
ясно
Lambda madness
Serghei
Миша я тебя не признал
Serghei
смени фото )
Serghei
привет )
Lambda madness
привет ;) зачем?
Lambda madness
это отражает мою суть лучше
Serghei
ты кот?
Ilya
видел я на лоре одного хаскеллиста, который называл коды котами. А бинды - бинтами
Ilya
может это ты?
Serghei
Я думал ты на скале пишешь.. Что ты тут делаешь? 🤔
Misha
scala is a gateway drug to haskell
Lambda madness
тут я для души
Lambda madness
не, в моем случае было наоборот
Lambda madness
про скалу я узнал намного позже
Lambda madness
ты кот?
это не просто кот, это Серое Инкогнито
Влод
а у скалы то наверное нету такого коммьюнити чтобы поговорить. там же наверное сеньоры за джава либы разговаривают, за джава интероп
Влод
ну я так себе представляю
Влод
ну мб немного дата-сцайнтисов есть, но им обычно язык не интересен
Denis
Привет! А есть в хаскеле что нибудь с сигнатурой
forall f. m f -> f a ?
Lambda madness
Влод
а как у скалы с зависимыми типами? наверное какое-нибудь продвижение есть
Lambda madness
да не особо, да и зачем они там?
Lambda madness
не, ну ваще там придумывают всякие синглетон тайпы и вот это все
Влод
++ но просто там разрабам не лень экспериментировать (как с макросами например) ну и мб замешали чего-нибудь
Инфернальный
> а у скалы то наверное нету такого коммьюнити чтобы поговорить. там же наверное сеньоры за джава либы разговаривают, за джава интероп
https://telegram.me/scala_ru
Влод
плюс мне препод как-то посоветовал один жж почитать, там был скалист и в то же время он периодически разные темы освещал, теоркат зависимые типы и отсюда у меня ассоциации
Влод
но на самом деле писал он плохо (хорошо получались статьи где он про свою повседневность писал, а всё остальное так себе)