@haskellru

Страница 1419 из 1551
Oleg
21.08.2018
12:06:54
Линейно-зависимые, Идрис претендует, но не проверено

Alexander
21.08.2018
12:08:34
если сделают завтипы до конца 90-х продвинут
а можно сначала линейные типы?

Евгений
21.08.2018
12:09:03
A64m
21.08.2018
12:09:48
ну первый язык с завтипами-то где-то 97-й

Google
Евгений
21.08.2018
12:10:36
Coq 89'ый

A64m
21.08.2018
12:10:56
так это пруфасситент а не язык

Oleg
21.08.2018
12:11:00
Возможно, что если будет язык с зависимостью от линейных, это уже 2020-е

A64m
21.08.2018
12:11:11
тут речь про первый язык, вроде идриса

Oleg
21.08.2018
12:11:24
Потому что AFAIK никто до сих пор не знает, как это сделать

Евгений
21.08.2018
12:11:39
Идрис это тоже пруфасистент так-то, просто с фичами языка

Oleg
21.08.2018
12:11:52
A64m
21.08.2018
12:12:01
язык с фичами пруфассистента

Oleg
21.08.2018
12:12:21
Пруф ассистент в нём сбоку припёку через рефлекшон расширения

Евгений
21.08.2018
12:13:07
Чот мне кажется ровно наоборот
Он декларируется наоборот. А по факту из агды (которая декларируется именно как пруфасистент в фичами языка) и то лучше язык получается

A64m
21.08.2018
12:13:31
ну агда скорее тоже язык с фичами пруфассистента

Евгений
21.08.2018
12:15:09
ну агда скорее тоже язык с фичами пруфассистента
Ну если агда язык, то и идрис, конечно, язык.

Google
Oleg
21.08.2018
12:17:45
ATS 2 - язык?

A64m
21.08.2018
12:17:56
то что я считаю первым ЯП с завтипами - Cayenne - точноне пруфассистент, даже без терминейшон чекера

Евгений
21.08.2018
12:19:23
Nurpl почему нет тогда?

A64m
21.08.2018
12:20:21
да, плохой критерий действительно

Dmitry
21.08.2018
12:21:27
А кто-нибудь знает, как в Haskell с model checking? Я находил библиотеки, но они какие-то уж очень proof-of-concept :-/

Alexander
21.08.2018
13:54:02
Downloaded ghc-ncurses6-8.4.3. Installing GHC ... Received ExitFailure 2 when running Raw command: /usr/bin/gmake install Run from: /home/jelf/.stack/programs/x86_64-linux/ghc-ncurses6-8.4.3.temp/ghc-8.4.3/ А где у ней логи спрятаны? (это $ stack build офк)

а хотя я могу просто запустить gmake и он в stodut все что надо напишет

Terminator
21.08.2018
14:03:56
@morozzzko будет жить. Поприветствуем!

Alexander
21.08.2018
14:08:05
.stack-work/logs/
даже папку не создало :(

Yuriy
21.08.2018
14:08:32
~/.stack/global-project/.stack-work/logs/?

даже папку не создало :(
это в проекте или глобально?

Alexander
21.08.2018
14:09:08
да и нет глобального проекта

в общем там добавилась зависимость от tinfo а у меня она внутри soшника ncurses, типичная гентупроблема короче

Yuriy
21.08.2018
14:11:11
ни там ни там
так не бывает. если не в проекте, то ~/.stack/global-project/ должен создаваться

Andrei
21.08.2018
14:11:47
оно же ещё на этапе stack setup упало

Yuriy
21.08.2018
14:11:51
а, это же не сборка пакета

это (до)сборка ghc

Andrei
21.08.2018
14:12:15
отож!

Google
Yuriy
21.08.2018
14:17:15
надо в .stack/programs/x86_64-linux/ghc-ncurses6-8.4.3.temp/ghc-8.4.3/ поискать логи

Alexander
21.08.2018
14:17:57
я там не нашел :(

но не суть

как и написал выше, достаточно попробовать руками собрать

если я буду использовать стаковский yml вместо cabal, у меня не будет проблем с публикацией бибилотеки7

kana
21.08.2018
14:20:39
нет

там генерируется кабалфайл

Dmitry
21.08.2018
14:56:45
если я буду использовать стаковский yml вместо cabal, у меня не будет проблем с публикацией бибилотеки7
А сейчас подходящее время, чтобы сказать, что не надо использовать ни stack, ни hpack?

Terminator
21.08.2018
14:56:57
@ix_designer будет жить. Поприветствуем!

Alexey
21.08.2018
14:56:59
Всем привет! Есть предложение для разработчиков/начинающих стартаперов. Я – senior product дизайнер по enterprise/SaaS/веб/мобилкам (ui/ux). Сейчас нахожусь в активном поиске работы уже несколько месяцев, потому что мне постоянно то компания, то проекты, то оплата не подходит. Но я не могу не заниматься дизайном и простаивать. Я делаю или бесплатно или очень дорого. Поэтому предложение: Готов бесплатно выделять +-8 часов в неделю на разработку вашего продукта, начиная от полного проектирования по бизнес-процессам/идеям и заканчивая hi-fi мокапами. Вы разработчик, который хочет сделать проект для портфолио с крутым дизайном? Пишите мне. Вы стартапер, у которого нет бюджета на хороший дизайн? Пишите мне. С вас какие-то гарантии, что проект будет в продакшене и отсутствие NDA.

Alexander
21.08.2018
14:57:31
А сейчас подходящее время, чтобы сказать, что не надо использовать ни stack, ни hpack?
если речь про nix то не особо, если чисто тезисы против то подходящее

но вообще у меня сейчас даже системного ghc нет, так что если и буду переходить то ближе к релизу

Alexey
21.08.2018
14:58:33
Haskell?
Не относится?

Yuriy
21.08.2018
14:59:03
реклама не про Хаскель — спам

anton
21.08.2018
15:00:27
почему же, человек хочет с закорешиться поработать с хаскелистами) хаскель по АПИ, дизайн через апи подключается - профессиональный ктож не хочет

A64m
21.08.2018
15:00:41
А сейчас подходящее время, чтобы сказать, что не надо использовать ни stack, ни hpack?
что хпак не надо использовать - вполне подходящее, со стеком не все так однозначно

Dmitry
21.08.2018
15:00:59
если речь про nix то не особо, если чисто тезисы против то подходящее
Насколько я знаю, @int_index использует cabal + nix, может быть он может рассказать про workflow.

Я про hpack раньше писал уже.

Выскажу не самое популярное мнение, но мне сильно не нравится hpack. Как по мне, он даёт не так много преимуществ, но поддержка со стороны тулинга и дружелюбность экосистемы уменьшается. А точнее по пунктам: 1. Многим нравится поле общих зависимостей (и не только) в hpack, но в cabal-2.2. это уже впилено, и там можно указать в общей станзе любой кусок станзы. 2. Автоматический поиск модуля: добавить модуль — одна строка. Это не так часто происходит, чтобы было слишком неудобно. К тому же, когда есть модули, которые генерируются пакетами вроде proto-lens, то их всё равно надо добавлять в package.yaml явно, без этого не работает, поэтому проблема всё равно полностью не решается. 3. YAML. Я сам лично не люблю этот формат, мне в нём много не нравится. Например, там были проблемы с парсингом версий, когда они у пакетов похожи на число. В одном multi-package проекте мы использовали hpack, и там дублицирование кода уменьшилось благодаря алиасам в yaml. Но полностью дублирование убрать не удалось, потому что yaml не поддерживает конкатенацию списков. Поэтому общие куски зависимостей между пакетами всё равно нельзя вынести в отдельный файл :( Если уж хочется полноценную и программируемую конфигурацию, тогда лучше использовать dhall. 4. Генерация .cabal файла с новым хешом каждый раз. Если над проектом работает несколько людей, то у них постоянно будут конфликты в этом .cabal файле, если он есть на GitHub. А если его нет на GitHub, то людям, у которых не стоит hpack, будет трудней сбилдить проект, надо прилагать больше усилий, чтобы этот cabal файл сгенерить. Да, stack работает, но вокруг одного stack мир не вертится. То есть как по мне, преимущества довольно сомнительные, но есть недостатки, создаётся раскол в сообществе, ухудшается и без того не самый хороший тулинг. Уж лучше все силы, что были потрачены на создание hpack ушли бы в cabal — добавить в exposed-modules какое-нибудь поле типа automatic, и весь hpack был бы не нужен.

Google
Alexander
21.08.2018
15:15:00
Выскажу не самое популярное мнение, но мне сильно не нравится hpack. Как по мне, он даёт не так много преимуществ, но поддержка со стороны тулинга и дружелюбность экосистемы уменьшается. А точнее по пунктам: 1. Многим нравится поле общих зависимостей (и не только) в hpack, но в cabal-2.2. это уже впилено, и там можно указать в общей станзе любой кусок станзы. 2. Автоматический поиск модуля: добавить модуль — одна строка. Это не так часто происходит, чтобы было слишком неудобно. К тому же, когда есть модули, которые генерируются пакетами вроде proto-lens, то их всё равно надо добавлять в package.yaml явно, без этого не работает, поэтому проблема всё равно полностью не решается. 3. YAML. Я сам лично не люблю этот формат, мне в нём много не нравится. Например, там были проблемы с парсингом версий, когда они у пакетов похожи на число. В одном multi-package проекте мы использовали hpack, и там дублицирование кода уменьшилось благодаря алиасам в yaml. Но полностью дублирование убрать не удалось, потому что yaml не поддерживает конкатенацию списков. Поэтому общие куски зависимостей между пакетами всё равно нельзя вынести в отдельный файл :( Если уж хочется полноценную и программируемую конфигурацию, тогда лучше использовать dhall. 4. Генерация .cabal файла с новым хешом каждый раз. Если над проектом работает несколько людей, то у них постоянно будут конфликты в этом .cabal файле, если он есть на GitHub. А если его нет на GitHub, то людям, у которых не стоит hpack, будет трудней сбилдить проект, надо прилагать больше усилий, чтобы этот cabal файл сгенерить. Да, stack работает, но вокруг одного stack мир не вертится. То есть как по мне, преимущества довольно сомнительные, но есть недостатки, создаётся раскол в сообществе, ухудшается и без того не самый хороший тулинг. Уж лучше все силы, что были потрачены на создание hpack ушли бы в cabal — добавить в exposed-modules какое-нибудь поле типа automatic, и весь hpack был бы не нужен.
не убедительно 6)

врочем не важно

Alexander
21.08.2018
15:16:27
я примерно тоже самое писал

в общем у hpack нету ни одного значимого плюса, при очевидных минусах

разве что формат кабала все ещё нигде не специфицирован в виде машиночитаемого документа

Admin
ERROR: S client not available

Alexander
21.08.2018
15:21:50
впрочем к yaml я схемы тоже не видел

Terminator
21.08.2018
15:59:14
@mitutee будет жить. Поприветствуем!

Sergey
21.08.2018
16:24:53
Интересует тема реверсивных парсеров, было ди что-то свежее за последние пару лет?

Там где комбинаторы строят парсер и принтер одновременно.

Dmitry
21.08.2018
17:17:12
Там где комбинаторы строят парсер и принтер одновременно.
Мы в Kowainik как раз работаем над библиотекой tomland, которая является двусторонним конвертером для формата TOML (парсер и принтер одновременно): * https://github.com/kowainik/tomland Реализация основана на идее Monadic Profunctors (не мы придумали, идея не новая). Пример использования можно посмотреть тут: * https://github.com/kowainik/tomland/blob/master/examples/Playground.hs Буквально на этих выходных я впилил поддержку суммы типов на основе чего-то среднего между изоморфизмов и призм. Окончательный дизайн не до коцаа устаканен, поэтому туториалов пока нет, и документация может быть не самой хорошей. Но мы эту библиотеку используем в продакшене в нескольких проектах уже. А сама идея описана в этом блог посте: * https://blog.poisson.chat/posts/2017-01-01-monadic-profunctors.html

Sergey
21.08.2018
17:19:13
Удачно я попал, спасибо, изучу!

Alexander
21.08.2018
17:26:54
lift2 = lift . lift -- Есть do elem:elems <- lift2 get lift2 $ put elems return elem -- Хочу что то вроде lift2 $ state $ head &&& tail -- Но в первом варианте за счет MonadPlus паттерн-матчинг -- давал mempty для [], а тут очевидно exception Есть какие то способы написать код в стиле второго варианта?

kana
21.08.2018
17:27:49
lift2 не нужен, потому что он уже полиморфен

Alexander
21.08.2018
17:28:36
kana
21.08.2018
17:29:02
lift

он уже поднимается до нужной монады в стеке

Alexander
21.08.2018
17:29:17
неа

у меня transformers если что

Google
kana
21.08.2018
17:29:42
http://hackage.haskell.org/package/transformers-0.5.5.0/docs/Control-Monad-Trans-Class.html

kana
21.08.2018
17:30:14
полиморфный lift он как раз из transformers

Alexander
21.08.2018
17:30:29
может я инстансы не подгрузил?

Alexander
21.08.2018
17:30:46
тип посмотри

Alexander
21.08.2018
17:30:46
import Control.Monad.Trans.Class

Alexander
21.08.2018
17:30:53
lift :: Monad m => m a -> t m a

он с предыдущего уровня на следующий поднимает

Alexander
21.08.2018
17:31:09
lift :: (MonadTrans t, Monad m) => m a -> t m a

ну мне надо на два уровня поднятся

Alexander
21.08.2018
17:31:33
lift2 нужно, все верно

kana
21.08.2018
17:31:54
хм, окей, это верно тогда

но тогда хз зачем такие ограничения на трансформерс, когда есть полимфорный в mtl

Alexander
21.08.2018
17:32:36
получше работает

иногда

и специализируется почти всегда

и можно много уровней одного типа иметь

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