Alexander
ага
Alexander
про эти, прикольно
Dmitry
жалко что emufat больше не работает, вот он был эпичен
Dmitry
до сих пор приятно вспомнить
Dmitry
что прикольно - сами эти псевдофлешки до сих пор валяются по квартире
Dmitry
жалко только, что эпичные технологически проекты не всегда являются эпичными с точки зрения бизнеса
Alexander
угу, вообще достаточно интересная штука
Alexander
правда возможность тупо подключить телефон подкосило это
Dmitry
ну, когда делали с телефонами не так дела обстояли. опять же, это был заказ заказчика
Dmitry
ответственность за анализ технологических решений и перспектив был на нём
Alexander
ага
Alexander
вообще согласен, прикольный был проект
Alexander
в то время если бы у меня была машина я бы такую штуку купил :)
Dmitry
ага
Dmitry
вообще обидно, что провал был по большей части юридически-административный.
Dmitry
техологически норм отожгли
Dmitry
хотя конечно лучше было б внедрить это в прошивку самого модема
Denis
да вообще многие проекты не по техническим причинам фейлятся
Denis
а с учетом что некоторые продавать умеют даже пригоршню грязи, там и вовсе больше половины, наверное
Rigidus
"прям щас" пишу прототип проги на лиспе, которую потом буду переделывать на раст.
Это весьма неплохой подход - лисп очень хорош для прототипов.
A64m
(но это не точно)
kosc
(но (не (точно это)))
кана
насколько приветствуется использовать линзовый-mtl <~? (<~) :: MonadState s m => ASetter s s a b -> m b -> m () очень удобный, но возможно некоторые проблемы при чтении кода (из-за путаницы с <-)
кана
IC
Точки разлепить попробуй, а то выглядит как ООП какое-то или, извините, Ruby
A64m
так и задумано же
A64m
это "официальное" соглашение для lens (я ему не следую, правда)
Cheese
выглядит как (memory.at) (address._Just). Так и задумано?
A64m
да, что-то они не додумались рекомендовать memory.at(address)._Just
кана
такие кейсы иногда заворачиваю в скобки, но все лучше пробелов, которые заметно ухудшают читаемость
кана
да достаточно, ваше предположение не верно мало того, оно тут мало интересно, на вопрос мой не ответили
доня.
вот пришёл кана и сразу стало как-то токсично
IC
Жалоба была по читаемость. Ответ про читаемость. Не надо бояться whitespace, whitespace is your friend.
IC
Спроси любого фронтендера.
кана
Жалоба была по читаемость. Ответ про читаемость. Не надо бояться whitespace, whitespace is your friend.
можем обобщить еще, что вопрос был про хаскель, или что про программирование, или что про глаза вопрос был про читаемость конкретного оператора
A64m
вопрос был в интеренете, значит надо к и б е р в ц е п и т ь с я в к и б е р г о р л о собеседника
Aleksei (astynax)
можем обобщить еще, что вопрос был про хаскель, или что про программирование, или что про глаза вопрос был про читаемость конкретного оператора
Точка в линзокоде требует пробелов. Ибо всё равно всё очень быстро перестаёт выглядеть, "как ООП".
Aleksei (astynax)
И вообще бесточечный код в стиле init.drop 5.reverse выглядит погано, хоть некоторыми такое и практикуется
kosc
Так а для чего нужен этот ваш Ivory? Почитал доки, но так и не понял сути.
kosc
Какой-то язык внутри хачкеля.
kosc
Который что?
Aleksei (astynax)
> Using GHC type-system extensions, enforces safe low-level programming, while maintaining expressiveness. (из описания пакета)
Aleksei (astynax)
> The Ivory Language is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell.
Aleksei (astynax)
Не знаю уж, что тут непонятно...
kosc
Так это сишная кодогенерация?
Aleksei (astynax)
eDSL
kosc
eDSL
Для какой предметной области?
Aleksei (astynax)
Алексей
Когда это к рекомендациям авторов прислушивались?
Aleksei (astynax)
kosc
Ладно, видимо, не поюзавши, не пойму.
Aleksei (astynax)
Английским языком же написано, "eDSL для безопасного системного программирования". Что тут непонятно то? :)
kosc
Короче, я немного затрахался писать одну и ту же сущность по три раза с разными аннотациями и ещё какими-то минорными отличиями, а мне говорят, что надо, потому что ко-ко-ко архитектура и ко-ко-ко энтерпрайз. Какие сторонние либы мне стоит глянуть, что бы написать тулзу на Haskell, которая будет просто генерить все три класса, каждый с нужными аннотациями?
Aleksei (astynax)
Сторонние либы, генерирующие произвольный язык отсутствуют.
Aleksei (astynax)
В каждом конкретном случае генерация пишется отдельно
kosc
Ну логично. Под кодогенерацию котлина я нашёл только тот кусок из серванта, который вчера кидал.
Aleksei (astynax)
Примеры можно посмотреть в либах с именами вида language-smth
kosc
Ну я смотрел language-java
kosc
Нашёл там парсеры и вот это всё.
kosc
Ткните, пожалуйста, носом в кодогенерацию хотя бы той же Java.
kosc
http://hackage.haskell.org/package/language-java
kosc
(я правда такой тупой, я не пытаюсь троллить)
A64m
а что Language.Java.Pretty что-то не то выдает?
kosc
Ну насколько я понимаю, pretty-printing - это когда из хрен пойми как отформатированного кода делается красиво отформатированный.
A64m
в данном случае из АСТ
A64m
т.е. вы, к примеру, генерите разные варианты явовского класса. 1) парсите явовский класс 2) обрабатываете его, с помощью дженериков, если нужно 3) претти-принтите полученные классы
kosc
Так, тут уже интереснее, спасибо!
Alexander
а в телеграмме можно делать как-то конфиги нотификаций, чтобы типа с 3-х до 7 по каким-то каналам только хайлайты показывало?
Alexander
и outline нотификаций как в irc клиентах?
kosc
Маловероятно, как мне кажется.
Anatolii
так, нашел в коде у себя loop, теперь хочу его на fix переписать
Alexander
let loop = ... in loop тоже можно оставлять
Anatolii
у меня там именно рекурсивный вызов пока не выполнится условие
Алексей
Я смутно помню, что было какое-то развитие идей data types a la carte, или что-то похожее на них. Но не помню названия. Никто не помнит?
Denis
a la carte это что, напомните?
Cheese
http://www.cs.ru.nl/~wouters/Publications/DataTypesALaCarte.pdf
Denis
Я гуглить умею, спасибо. Ответ ожидаю такой: композиция функторов + тайпклассики для интерпретатора.