Size: a a a

Clojure — русскоговорящее сообщество

2020 July 21

wo

went out in Clojure — русскоговорящее сообщество
Mikhail Borisov
Монады это вроде не полиморфизм
профдеформация, термин неправильно подобрал

если у меня древовидная струутура переходов по Exexecution Path и я смогу в предсказателе ветвлений заранее предвыбрать, эмм... какую-то цель, смогу ли я оптимизнуть эту проверку, или всё же придётся весь путь с переопределением проходить как бы "заново"

бред какой-то наверное, просто интересно, может есть обходной маневр, короткий
источник

p

patinity in Clojure — русскоговорящее сообщество
вот как сложа поможет с данными, особенно если они удалённо лежат - там крутятся программы что с ними работают - срм
источник

p

patinity in Clojure — русскоговорящее сообщество
чтобы например сказать администратору дать привилегии для аккаунта работы с базой на копирование и кложа синхронно перекачивала новое
источник

p

patinity in Clojure — русскоговорящее сообщество
чтобы параллельно текущей легасе переходить на автоматическое управление
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
went out
профдеформация, термин неправильно подобрал

если у меня древовидная струутура переходов по Exexecution Path и я смогу в предсказателе ветвлений заранее предвыбрать, эмм... какую-то цель, смогу ли я оптимизнуть эту проверку, или всё же придётся весь путь с переопределением проходить как бы "заново"

бред какой-то наверное, просто интересно, может есть обходной маневр, короткий
Jit компиляторы вместе с процессорами такое делают
источник

p

patinity in Clojure — русскоговорящее сообщество
где вот всему этому и кложа граница возможности подобного, реальная компания реальные данные на чем стоится выручка
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Мб забанит кто-то уже этого бота?)
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Jit компиляторы вместе с процессорами такое делают
Боюсь соврать, кто какую работу тут может сделать
источник

p

patinity in Clojure — русскоговорящее сообщество
Dima Fomin
Вот паразиты в Яндексе: три строчки про функции (ни слова про ФПК) -> функции это запутанно -> всех спасут обьекты. Десятки тысяч чайников прочитают и поверят 😢 https://thecode.media/oop_battle/
проблювался на первых заголовках "На примере зверей"
такую грязь поднять на поверхность - выглядит как копипаст, а не работа специалиста
источник

E

ETL in Clojure — русскоговорящее сообщество
went out
профдеформация, термин неправильно подобрал

если у меня древовидная струутура переходов по Exexecution Path и я смогу в предсказателе ветвлений заранее предвыбрать, эмм... какую-то цель, смогу ли я оптимизнуть эту проверку, или всё же придётся весь путь с переопределением проходить как бы "заново"

бред какой-то наверное, просто интересно, может есть обходной маневр, короткий
Мне кажется, что цели "короткого обхода" служат конструкторы данных и ленивые вычисления. Для "предопределенных ветвей" есть паттерн-матчинг. Т.е. программе не нужно вычислять значения ветвей, для того, чтобы добраться до какого-то определенного значения. Если мы говорим про полиморфизм - то монады поддерживают полиморфизм ровно в том же объеме, что и поддерживает его язык.
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
ETL
Мне кажется, что цели "короткого обхода" служат конструкторы данных и ленивые вычисления. Для "предопределенных ветвей" есть паттерн-матчинг. Т.е. программе не нужно вычислять значения ветвей, для того, чтобы добраться до какого-то определенного значения. Если мы говорим про полиморфизм - то монады поддерживают полиморфизм ровно в том же объеме, что и поддерживает его язык.
Не понял про паттерн матчинг
источник

E

ETL in Clojure — русскоговорящее сообщество
На самом деле следует определиться с тем, что такое "предпопределенные ветви", я под ними понял, что это ветви, структура которых заранее известна.
Допустим список: Cons 'H' Cons 'e' Cons 'l' Cons 'l' Cons 'o' Nil
мы его можем представить как (x:xs) т.е. head И  (двоеточие - это синтаксический сахар от Cons) tail (всё остальное),
но также мы можем это представить как x:y:z:xs (где х == 'H', y == 'e' etc.)
т.е. мы знаем, что в нашей структуры есть как минимум 4 элемента (выражаясь языком ОПа - "предпопределенные ветви").
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я понял, что речь о том, что есть какой-то набор условий (switch, полиморфизм), можно ли оптимизнуть проверку и не делать джампы
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я думаю, что jit компилятор что-то такое делает
источник

wo

went out in Clojure — русскоговорящее сообщество
да, всё так, я про это и спрашивал, может ли runtime просто вообще не заходить в ветки, например, да даже с отладчиком, если почему-то считает, что уже не попадёт туда

спасибо )
источник

E

ETL in Clojure — русскоговорящее сообщество
Это что-то из области ручной обработки значений в памяти, мне кажется, что ФП не про то.
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
В целом бывает полезно представить себе процесс исполнения кода в деталях
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Для общей эрудиции хотя бы)
источник

E

ETL in Clojure — русскоговорящее сообщество
Есть Template Haskell, говорят там есть low-level api, но: 1) настолько ли он low, чтобы написать "возьми третий элемент списка, как будто первых двух никогда не было" 2) зачем это надо ))))
источник
2020 July 22

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Человек спросил, если есть полиморфный вызов, всегда ли в рантайме будет dynamic dispatch, я ответил :) Оптимизировать всякую такую хрень в некоторых случаях стоит. На сайте кложуры например написано, что мультиметоды значительно медленнее протоколов
источник