by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 23 2019 14:39
    cblp closed #92
  • Nov 23 2019 14:39
    cblp commented #92
  • Nov 23 2019 14:39
    cblp commented #109
  • Nov 23 2019 14:38

    cblp on gh-pages

    Update link (#109) https://has… (compare)

  • Nov 23 2019 14:37

    cblp on qnikst-patch-1

    (compare)

  • Nov 23 2019 14:37

    cblp on master

    Update link (#109) https://has… (compare)

  • Nov 23 2019 14:37
    cblp closed #109
  • Nov 22 2019 20:25
    qnikst review_requested #109
  • Nov 22 2019 20:25
    qnikst opened #109
  • Nov 22 2019 20:24

    qnikst on qnikst-patch-1

    Update link https://haskell-la… (compare)

  • Nov 18 2019 08:43
    cblp commented #92
  • Nov 17 2019 09:57
    qnikst commented #92
  • Nov 10 2019 09:01

    cblp on gh-pages

    Add The Haskell Phrasebook (compare)

  • Nov 10 2019 09:01

    cblp on master

    Add The Haskell Phrasebook (compare)

  • Oct 31 2019 16:10
    cblp edited #106
  • Oct 31 2019 16:10
    cblp commented #106
  • Oct 31 2019 16:08

    cblp on master

    Add some text from #106 (compare)

  • Oct 30 2019 10:33

    cblp on master

    Add draft of `effects-haskell` … (compare)

  • Oct 30 2019 10:13

    cblp on gh-pages

    Add `sic` to `хаскелит` (compare)

  • Oct 30 2019 10:12

    cblp on master

    Add `sic` to `хаскелит` (compare)

Gleb Popov
@arrowd
Нормально, кроме того что не нормально.
Ладно, буду тут сам с собой разговаривать.
Alexander Tchitchigin
@gabriel-fallen
Я по крайней мере читаю, так что это не полная шизофрения. ;)
nponeccop
@nponeccop

да и там нормально, кроме того что телега (вход по паспорту, код не подсветить, таблицу не показать)

Рад что кто-то кроме меня это ценит

Ну если тут будут вопросы то я на них буду отвечать. Я бох.
nponeccop
@nponeccop

А я ж правильно понимаю, что если у меня в модуле есть

Если на топ-уровне это гарантируется MonomorphismRestriction. Если его отключили расширением NoMonomorphismRestriction то см. выше - если есть тайпклассы то это не константа а функция. Если не на топ-уровне то это MonoLocalBinds, и я не знаю какой у них статус сейчас

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

Ммм, нет никакой мемоизации есть sharing. Если результат расшарите то он расшарится, а если нет то нет. Конкретнее надо на более полный код смотреть.

Как сделать параллельный mapM?

C помощью библиотеки где есть параллельный mapM. Конкретнее не подскажу

Так количество спарков выбирать не нужно -- можно просто запускать сколько хочется, они же N:M сами на ядра скедулятся.

Только если выбран правильный RTS и запущен с правильными ключами

Gleb Popov
@arrowd
Есть какой-нибудь моноид с двумя дырками, чтобы можно было аппендить то в один, то во второй? Вроде Monoid m => (m,m) и чтобы было два вида <> - для первой компоненты и второй?
Gleb Popov
@arrowd
Хотя... Наверное, мои корчи связаны с тем что я не умею в линзы.
Yuriy Syrovetskiy
@cblp
собственно, пара и есть
даже без линз это работает
например, tell (x, mempty); tell (mempty, y)
линзами будет, например, _1 <>= x; _2 <>= y
Gleb Popov
@arrowd
Ды нет. Я ended up with over _1 (x:)
Ладно, а теперь мне вот какая фиговина нужна - вроде map, но он еще дает посмотреть на уже пройденные элементы. crazymap :: ([a] -> a -> b) -> [a] -> [b]. Это какой-то *морфизм?
Gleb Popov
@arrowd
Блин, да этож надо просто зипнуть с inits xs. Отвал башки.
Gleb Popov
@arrowd
Такой вопрос. Как мне для data My a b написать не instance Functor (My a), а наоборот - чтобы b было фиксированным?
Gleb Popov
@arrowd
Yuriy Syrovetskiy
@cblp
вот именно для этого никак, синтаксис запрещает
но можно для newtype Ym b a = Ym (My a b)
Gleb Popov
@arrowd

Ideally GHCi would maintain a separate lexical call stack in addition to the dynamic call stack, and in fact this is exactly what our profiling system does (Profiling), and what some other Haskell debuggers do.

Что еще за other Haskell debuggers?

Yuriy Syrovetskiy
@cblp
Alexey Skoblikov
@almays
Всем хорошего дня. Давненько сюда не заходил.
Я тут неспешно собираюсь новый мак прикупить, а они вдруг решили на ARM переходить. У меня будут трудности с GHC? Не смог нагуглить.
Alexander Tchitchigin
@gabriel-fallen
https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms Скорее всего будут! 😄
Мне лично крайне симпатична идея ноутбуков -- макбуков в частности -- на Армах, но я их рассматриваю как замену Air -- более portable, более долгоиграющие от батарейки.
Как машины для хардкорного нативного девелопмента ещё не скоро подойдут. Пока что если только веб-дев на JS...
Alexander Tchitchigin
@gabriel-fallen
Но я и не специалист по Arm. 🤷😅
Yuriy Syrovetskiy
@cblp
если достаточное количество разработчиков GHC пересядут на Арм, его быстро адаптируют
теоретически-то Арм поддерживается, как я понимаю, надо только баги поправить
klapaucius
@klapaucius
Ну тормозить то он в любом случае будет
Aleksey Khudyakov
@Shimuuar
Быстро = несколько лет
matrixbot
@matrixbot

unclechu > <@gitter_almays:matrix.org> Всем хорошего дня. Давненько сюда не заходил.

Я тут неспешно собираюсь новый мак прикупить, а они вдруг решили на ARM переходить. У меня будут трудности с GHC? Не смог нагуглить.

не особо вкурсе что там в мире маков, но вроде обещали прослойку совместимости для старых бинарников

unclechu интересно, поможет ли тут llvm-бекенд?
Gleb Popov
@arrowd
Я до сих пор это в голове уложить не могу: https://stackoverflow.com/a/62946392/637669
То понимаю, то не понимаю.
А вот как это можно еще и сознательно применять я вообще не понимаю. Очень сильно не понимаю.
Alexander Tchitchigin
@gabriel-fallen
А, тут, видимо, нужно знать как компилятор компилирует функции и замыкания. :)
Lambda lifting или что-то такое.
Yuriy Syrovetskiy
@cblp

даже не понимаю, что тут можно не понимать. мы же в ФП. это значит, что функции — это данные. это значит, что функцию можно вычислить. если у нас есть определение f x = y, то мы можем в f подставить x и вычислить y. всё.

это продолжает работает, даже если y — ещё одна функция.

а замыкания, компилятор — это детали для тех, кто абстракцию не умеет

точнее, замыкания — это механизм, который реализует эту интуицию. но интуиция рождается не из реализации, а из здравого смысла, а реализация её всего лишь реализует
Alexander Tchitchigin
@gabriel-fallen
Там же вопрос в том, почему в одном случае мапа создаётся на каждый вызов, а в другом - только в первый раз. А это уже артефакт реализации языка, а не его семантики.
Yuriy Syrovetskiy
@cblp
из семантики видно, что в случае одного аргумента мапа зависит только от первого аргумента. а в случае двух аргументов, да, немного скользко. нам интуитивно хотелось бы, чтобы мапа зависела только от того, что в ней явно написано, нам же обещали каррирование! но хаскель не такой умный, оказывается, и всё тело зависит от всех аргументов
если копнуть глубже, то окажется, что умнее и не сделать
arrowd @arrowd открыл для себя stack ghci --ghci-options -interactive-print=Text.Pretty.Simple.pPrint --package pretty-simple.
Gleb Popov
@arrowd
Отцы, мне нужен дататайп вроде n-мерного массива, да чтоб была функция, которой можно давать n-1 произвольных индексов, а она будет возвращать "n-столбец".
Gleb Popov
@arrowd
Получается, это обычный Array из array, но функцию самому надо писать.
Gleb Popov
@arrowd
Интересно, почему нету какого-нибудь aimap, который бы работал как amap, но при этом сообщал индекс текущего элемента.
Alexander Tchitchigin
@gabriel-fallen
Звучит как R frames и всё остальное с них скопированное (Pandas Frames). Можно посмотреть на Хакадже что-нибудь такое для Data Science.
Aleksey Khudyakov
@Shimuuar
Может в massiv есть? (Я не пользовался правда)