Тык
Спасибо, попробую
Тык
Стоп
Тык
Как в месте объявления?
Alexander
объявил convert, после него написал SPECIALIZE
Alexander
ещё и inlineable написал чтобы определение в интерфейс точно попало
Тык
Я думал, что суть как раз в том, что перед конкретным местом указываешь тип переменных типовых
Тык
Тогда мне написать там в качестве входной переменной - double или float?
A64m
перед конкретным местом импользования специализируется только если развертка доступна
Тык
Развертка?
Тык
и то и другое
Ок, попробую так.
A64m
Развертка?
ну, преобразованный код функции, который в hi файле сохраняется
Тык
А
Тык
Понял, спасибо.
Alexander
специализация работает по месту, инлайнабл добавляет развёртку в .hi файл тогда специализацию можно сделать явно или неявно по месту, inline - добавит развёртку и скажет компилятору специализировать по месту использования
Alexander
оверспециализация может раздуть выполняемый файл и все будет тормозить. без inlineable в hi попадут только "маленькие" функции
Alexander
специализация гарантирует что специализированная функция сделается только один раз, в не много
Alexander
как-то так
A64m
каких прагм в base больше: specialize или specialise?
Anatolii
нельзя просто взять и форкнуть, пол хакаджа на старые зависят
А если я никсом через оверлей перепишу пакет на форк - разве у моих зависимостей оно не перепишется
Anatolii
?
Alexander
так наверное можно
Alexander
но это разделение инфраструктуры будет как с жавой
Alexander
из этого репозитория собирается из другого нет
Alexander
и все несовместимо
Alexander
для своего решения норм конечно, но для общества - нет
Anatolii
Ну, да - все обрастет хостайл форками
Тык
> специализация работает по месту В смысле "по месту" ?
Alexander
в функции где используется
Alexander
и.е. пишешь ты foo = ... convert ...
Alexander
то если есть развертка convert, то ghc специализирует его
Alex
Джентельмены, а почему когда я создаю проект stack new whatever у меня не создается stack.yaml?
Dmitry
"All done" было выведено в конце?
Alex
Нет
Alex
Сейчас когда пишу stack init выскакивают ошибки
Alex
Я так понимаю проблема в том, что стак не может скачать снапшот 12.4
Dmitry
А интернет-соединение РКН-protected?
Alex
Что это такое, я не могу нагуглить
Dmitry
Шутка :)
Dmitry
Ну, может, некоторые хосты заблокированы или недоступны?
Alexander
а cabal new-build работает?
Alexander
если да, то может ну его этот стек?
Dmitry
А ты хитёр ;)
Cheese
Сейчас когда пишу stack init выскакивают ошибки
stack init и stack new решают непересекающиеся задачи
Alex
Да, я это уже понял
Alex
Удалил папку с индексами и теперь у меня все ок
Alex
Selected resolver: lts-12.4
Cheese
он не существует. самый свежий — 12.2
о, уже вышел 12.4, прошу прощения, вчера его не было
Alex
Хочу сделать функци const наоборот
Alex
Подскажите пожалуйста, почему foo = const . flip
Alex
Неправильно?
Cheese
потому что flip действует на функцию, а не аргументы
Cheese
Подскажите пожалуйста, почему foo = const . flip
какая вообще логика привела к этому?
Alex
flip меняет аргументы в местами в функции
Alex
Поэтому я решил применить её на конст
Alex
Но у меня не получилось
Alexander
:t flip const что пишет?
Alexander
в ghci
Alex
Черт
Alex
Как я вообще мог додуматься поставить там композицию
Alex
Спасибо большое
Cheese
очевидно, как
Cheese
ты решил, что flip действует на список аргументов
Cheese
но в Хаскеле нет такой сущности как список аргументов
Cheese
да и аргумент — не совсем управляемая сущность
Cheese
есть только функции
Cheese
flip всего лишь создаёт новую функцию, принимающую аргументы немного иначе
Vladislav
Всем привет! Однажды @lightgreen мне посоветовал такую схему — менторство в обмен на развитие проекта. Где-то два месяца назад я стал участовать в проекте @cblp_su ff-notes. Юра менторил, я делал пулреквесты. Ему — помощь в развитии проекта, мне — опыт и знания. Обе стороны довольны. Растет и проект, и скиллы. И хаскельное сообщество от этого выигрывает. В общем, рабочая схема, как показал мой опыт. (Менторство заключалось в код ревью, наводящих вопросах, ответах на вопросы, обсуждении стратегии написания кода, здесь Юра больше скажет. Мой вклад был в пул реквестах по текущим задачам, иногда я находил баги или предлагал что-то улучшить, а потом брал и улучшал). К сожалению, у Юры больше нет времени продолжать в том же режиме. Но у нас родилась идея. А что если сделать некий хаб, где опытные программисты, готовые менторить, представили бы свои открытые проекты, чтобы у начинающих или продолжающих изучать Хаскель было бы где получить опыт и принести пользу. Оказалось, что подобные проекты уже существуют, например, https://github.com/lenadroid/awesome-oss-mentors Но там, похоже, нет ни одного хаскелиста. Можно было бы добавляться туда, или создать свой awesome list проектов, авторы которых готовы помогать расти своим контрибьюторам. Как вам такая идея? У кого есть свой проект и желание его развивать совместно с начинающими разработчиками в обмен на менторство?
Dmitry
Ещё такое в gitter'е предлагали
Dmitry
Думаю, @qnikst может про это больше написать
Cheese
Андрей Мохов: Там пул-реквесты полгода висят -- не уверен, что этот список жив. Я с удовольствием помогу новичкам: мои DM/почта открыты, мои проекты -- здесь: https://t.co/MXQ7WrQrEz.
Cheese
был когда-то слак с менторами, но я не помню, вроде он по другой модели работал
Alexander
был, модель похожая, но не взлетело
Dmitry
Предлагали сложные задачки для решения. С codewars и т.п.
Alexander
там было больше индивидуально и как ментор решит
Alexander
ну и плюс группы для изучения чего-то
Alexander
но постепенно загнулост
Cheese
по какой?
по-моему, там не реальные проекты были, а игрушечные и упражнения из книжек