@haskellru

Страница 1057 из 1551
Aragaer
04.04.2018
08:14:56
да, не так прочитал

Hot
04.04.2018
08:15:00
Меня сейчас больше интересует кодогенерация сторонних ЯП на Haskell. И я хз, где найти под это какой-нибудь тутор для уже начавших, но ещё не особо шарящих.

Leonid
04.04.2018
08:16:08
fun n = "public static void main() { return " <> show n <> "; }" - кодогенерация на хаскеле

Yuriy
04.04.2018
08:16:18
да, не так прочитал
а в чём проблема, собственно?

Google
Yuriy
04.04.2018
08:17:00
Александр
04.04.2018
08:17:31
Yuriy
04.04.2018
08:19:20
Есть они где-то в открытом доступе?
мой обзор некоторых решений для кодогенерации С https://ruhaskell.org/posts/talks/2016/08/18/ivory-high-performance-code-for-haskell.html

Hot
04.04.2018
08:19:43
Спасибо, гляну.

Yuriy
04.04.2018
08:26:01
@qnikst может рассказать про всякие inline-*, впрочем, это не совсем то

Hot
04.04.2018
08:26:32
Ну пусть расскажет, если ему не лень.

Leonid
04.04.2018
08:26:47
расскажет скоро, в Питере

Очередная встреча сообщества пройдет 19 апреля в офисе JetBrains, На повестке дня: «eDSL для дерева переходов на free-монадах и экзистенциальных типах» Александр Гранин, в прошлом сотрудник "Лаборатории Касперского" и “2ГИС”, а ныне Haskell-разработчик в компании Restaumatic, основатель сообщества LambdaNsk в Новосибирске, расскажет о том, как спроектировать статически типизированное дерево переходов с возможностью ходить по нему вперед и назад и почему не стоит писать такой умный код. «Теория и практика встраивания внешних языков программирования в Haskell» Александр Вершилов, разработчик в Tweag I/O, рассмотрит в докладе подход, позволяющий встраивать языки без дополнительного бойлерплейта и использующий сильные стороны гостевого и основного языка, на примере Haskell, Java и R. «Возможности использования формальных верификаций на Coq для простейших моделей смарт-контрактов» (Андрей Ляшин) Андрей Ляшин, участник стартапа FinProof и популяризатор теории категорий в программировании, рассмотрит реализацию основных функций стандартного токена ERC20 с демонстрацией доказуемости и недоказуемости свойств для корректной и, соответвенно, некорректной реализаций рекурсивных функций переводов, лежащих, в частности, в основе атаки на the DAO. —--- Встречаемся 19.04 в 19:00 в офисе JetBrains: Университетская наб., 7-9-11, корп. 5 (вход с Кадетской линии), БЦ «Universe». Вход бесплатный, но необходимо зарегистрироваться (проход в БЦ по спискам): https://spb-fp-meetup.timepad.ru/event/696867

Hot
04.04.2018
08:27:07
Доклад какой-то будет?

Alexander
04.04.2018
08:27:24
будет

но это не кодогенерация - кодогеренация это ivory и т.п.

как-то было дело, я вообще руками код генерил только с pretty-printer-ом

Google
Hot
04.04.2018
08:28:04
Встреча всё равно интересная, зарегаюсь.

Alexander
04.04.2018
08:28:16
возможно этот код даже все ещё работает где-то (cc @voidlizard )

Dmitry
04.04.2018
08:28:30
что где?

если ты про сишный трие - то он работает, да

и генерация db для матчинга отпечатков трафика (в роутер) тоже работает

Alexander
04.04.2018
08:30:41
ага

про эти, прикольно

Dmitry
04.04.2018
08:31:10
жалко что emufat больше не работает, вот он был эпичен

до сих пор приятно вспомнить

что прикольно - сами эти псевдофлешки до сих пор валяются по квартире

жалко только, что эпичные технологически проекты не всегда являются эпичными с точки зрения бизнеса

Alexander
04.04.2018
08:33:59
угу, вообще достаточно интересная штука

правда возможность тупо подключить телефон подкосило это

Dmitry
04.04.2018
08:34:42
ну, когда делали с телефонами не так дела обстояли. опять же, это был заказ заказчика

ответственность за анализ технологических решений и перспектив был на нём

Alexander
04.04.2018
08:38:34
ага

вообще согласен, прикольный был проект

в то время если бы у меня была машина я бы такую штуку купил :)

Dmitry
04.04.2018
08:50:18
ага

вообще обидно, что провал был по большей части юридически-административный.

Google
Dmitry
04.04.2018
08:50:47
техологически норм отожгли

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

Denis
04.04.2018
08:51:27
да вообще многие проекты не по техническим причинам фейлятся

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

Rigidus
04.04.2018
08:54:37
"прям щас" пишу прототип проги на лиспе, которую потом буду переделывать на раст.
Это весьма неплохой подход - лисп очень хорош для прототипов.

A64m
04.04.2018
08:56:29
(но это не точно)

Hot
04.04.2018
08:59:03
(но (не (точно это)))

kana
04.04.2018
09:04:11
насколько приветствуется использовать линзовый-mtl <~? (<~) :: MonadState s m => ASetter s s a b -> m b -> m () очень удобный, но возможно некоторые проблемы при чтении кода (из-за путаницы с <-)



IC
04.04.2018
09:09:40
Точки разлепить попробуй, а то выглядит как ООП какое-то или, извините, Ruby

A64m
04.04.2018
09:10:13
так и задумано же

это "официальное" соглашение для lens (я ему не следую, правда)

Yuriy
04.04.2018
09:12:21
выглядит как (memory.at) (address._Just). Так и задумано?

A64m
04.04.2018
09:13:13
да, что-то они не додумались рекомендовать memory.at(address)._Just

kana
04.04.2018
09:13:22
такие кейсы иногда заворачиваю в скобки, но все лучше пробелов, которые заметно ухудшают читаемость

kana
04.04.2018
09:15:41
да достаточно, ваше предположение не верно мало того, оно тут мало интересно, на вопрос мой не ответили

Даниил
04.04.2018
09:21:31
вот пришёл кана и сразу стало как-то токсично

IC
04.04.2018
09:21:42
Жалоба была по читаемость. Ответ про читаемость. Не надо бояться whitespace, whitespace is your friend.

Спроси любого фронтендера.

Google
A64m
04.04.2018
09:22:34
kana
04.04.2018
09:23:23
Жалоба была по читаемость. Ответ про читаемость. Не надо бояться whitespace, whitespace is your friend.
можем обобщить еще, что вопрос был про хаскель, или что про программирование, или что про глаза вопрос был про читаемость конкретного оператора

A64m
04.04.2018
09:26:15
вопрос был в интеренете, значит надо к и б е р в ц е п и т ь с я в к и б е р г о р л о собеседника

Aleksey
04.04.2018
09:27:29
можем обобщить еще, что вопрос был про хаскель, или что про программирование, или что про глаза вопрос был про читаемость конкретного оператора
Точка в линзокоде требует пробелов. Ибо всё равно всё очень быстро перестаёт выглядеть, "как ООП".

И вообще бесточечный код в стиле init.drop 5.reverse выглядит погано, хоть некоторыми такое и практикуется

Hot
04.04.2018
09:28:55
Так а для чего нужен этот ваш Ivory? Почитал доки, но так и не понял сути.

Какой-то язык внутри хачкеля.

Который что?

Aleksey
04.04.2018
09:29:46
> Using GHC type-system extensions, enforces safe low-level programming, while maintaining expressiveness. (из описания пакета)

> The Ivory Language is an eDSL for safe systems programming. You can think of Ivory as a safer C, embedded in Haskell.

Не знаю уж, что тут непонятно...

Hot
04.04.2018
09:30:46
Так это сишная кодогенерация?

Aleksey
04.04.2018
09:31:14
eDSL

A64m
04.04.2018
09:31:31
Hot
04.04.2018
09:31:47
eDSL
Для какой предметной области?

Aleksey
04.04.2018
09:31:52
Pineapple
04.04.2018
09:31:57
Когда это к рекомендациям авторов прислушивались?

Aleksey
04.04.2018
09:32:04
Hot
04.04.2018
09:32:21
Ладно, видимо, не поюзавши, не пойму.

Aleksey
04.04.2018
09:33:31
Английским языком же написано, "eDSL для безопасного системного программирования". Что тут непонятно то? :)

Google
Hot
04.04.2018
09:34:00
Короче, я немного затрахался писать одну и ту же сущность по три раза с разными аннотациями и ещё какими-то минорными отличиями, а мне говорят, что надо, потому что ко-ко-ко архитектура и ко-ко-ко энтерпрайз. Какие сторонние либы мне стоит глянуть, что бы написать тулзу на Haskell, которая будет просто генерить все три класса, каждый с нужными аннотациями?

Aleksey
04.04.2018
09:35:43
Сторонние либы, генерирующие произвольный язык отсутствуют.

В каждом конкретном случае генерация пишется отдельно

Hot
04.04.2018
09:36:21
Ну логично. Под кодогенерацию котлина я нашёл только тот кусок из серванта, который вчера кидал.

Aleksey
04.04.2018
09:36:23
Примеры можно посмотреть в либах с именами вида language-smth

Hot
04.04.2018
09:36:41
Ну я смотрел language-java

Нашёл там парсеры и вот это всё.

Ткните, пожалуйста, носом в кодогенерацию хотя бы той же Java.

http://hackage.haskell.org/package/language-java

(я правда такой тупой, я не пытаюсь троллить)

A64m
04.04.2018
09:38:24
а что Language.Java.Pretty что-то не то выдает?

Hot
04.04.2018
09:39:09
Ну насколько я понимаю, pretty-printing - это когда из хрен пойми как отформатированного кода делается красиво отформатированный.

A64m
04.04.2018
09:39:36
в данном случае из АСТ

т.е. вы, к примеру, генерите разные варианты явовского класса. 1) парсите явовский класс 2) обрабатываете его, с помощью дженериков, если нужно 3) претти-принтите полученные классы

Hot
04.04.2018
09:42:26
Так, тут уже интереснее, спасибо!

Alexander
04.04.2018
09:48:13
а в телеграмме можно делать как-то конфиги нотификаций, чтобы типа с 3-х до 7 по каким-то каналам только хайлайты показывало?

и outline нотификаций как в irc клиентах?

Hot
04.04.2018
09:49:12
Маловероятно, как мне кажется.

Anatolii
04.04.2018
09:53:50
так, нашел в коде у себя loop, теперь хочу его на fix переписать

Alexander
04.04.2018
09:55:18
let loop = ... in loop тоже можно оставлять

Anatolii
04.04.2018
09:55:56
у меня там именно рекурсивный вызов пока не выполнится условие

Pineapple
04.04.2018
10:21:30
Я смутно помню, что было какое-то развитие идей data types a la carte, или что-то похожее на них. Но не помню названия. Никто не помнит?

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