@haskellru

Страница 1304 из 1551
Alexander
25.06.2018
16:49:49
давайте более предметно

на велике блин не покататься

Евгений
25.06.2018
16:50:05
теоркат знать не обязательно, мне до Олега далеко, не знаю знает ли он ТК
Но он хотя бы существует как индвид? Или это коллектив?

Alexander
25.06.2018
16:50:13
существует

Google
Евгений
25.06.2018
16:50:22
Alexander
25.06.2018
16:50:32
вон в английском чятике есть люди его лично знающие

Евгений
25.06.2018
16:51:11
То есть 2 хопа?

Alexander
25.06.2018
16:51:40
да, но разными путями

на ICFP сьездите кому интересно

Fedot
25.06.2018
16:52:32
По какой игре? :)
по той статьи о которой в 14м году и закончились(

Александр
25.06.2018
16:52:41
Когда статьи по игре то еще будут?)
Возможно, это и не будет полной заменой статей, но в качестве компенсации могу предложить свеженький каст, который мы сделали с @metaxis . По игре (игровому движку текстовых игр наподобие Zork). Живой кодинг, рассказываю про DSL / eDSL, фри-монады и вот это вот все. Проект - hinteractive.

по той статьи о которой в 14м году и закончились(
Аааа, The Amoeba World... Я забросил ее ? Стало очень скучно. Взял другой проект и написал кучу других статей

Есть у меня одна очень плохая особенность. Как только пропадает интерес к проекту, который я делаю для себя и не имею таким образом обязательств перед другими, я его забрасываю и переключаюсь на что-нибудь другое

https://youtu.be/4E3DSUo7n74

Забыл ссылку прикрепить :)

Ilya
25.06.2018
16:56:51
Но он хотя бы существует как индвид? Или это коллектив?
Олег Киселев, конечно, существует. Вроде в Японии сейчас работает. А либы из ТК больше Эдвард генерирует

Fedot
25.06.2018
16:57:12
Google
Alexander
25.06.2018
17:00:31
Да, в Японии

Александр
25.06.2018
17:01:53
Когда статьи по игре то еще будут?)
Кстати, с того времени в Haskell появилась целая куча новых практик и возможностей. Ну и я его подучил получше. Так что скорее всего, тот проект я бы уже по-другому делал

Leonid
25.06.2018
17:03:31
@lonokhov
@qnikst с ними в сговоре. Ему на цуртхаке зонд вставили

Евгений
25.06.2018
17:06:43
Ещё скажи, что он Алег и А значит александр

Leonid
25.06.2018
17:11:46
Ну какой из него Алег...

Александр
25.06.2018
17:12:50
Или ты про Amoeba?

kana
25.06.2018
17:14:28
ZorkLike

меня конечно удивило сходу ручные инстансы функтора и конструкторов фри команд

Александр
25.06.2018
17:18:15
В свое время я делал такие вещи: "Движок" текстовых игр Adv2Game и цикл "Haskell Quest Tutorial", 5 статей. Ни игры, ни "движка" не сделал. Уровень - beginner "The Amoeba World" (стратегическая игрушка, изначально запланированная для Ludum Dare) и цикл "Дизайн и архитектура в ФП", 3 статьи. Ни игры, ни движка не сделал. "Andromeda" (SCADA-like проект) и книга "Functional Design Architecture". Ни проект, ни книгу до конца не довел. И вот теперь "hinteractive" и какие-нибудь материалы по ходу дела. Уже сделал доклад на fprogspb в апреле, и вот тот каст, что вверху.

Alexander
25.06.2018
17:21:08
blah в соседнем чятике

Александр
25.06.2018
17:23:30
blah в соседнем чятике
Каком? Где? Завели чатик под флуд? И к кому обращено? Мне кажется, мои сообщения выше не флуд ни разу

Alexander
25.06.2018
17:23:51
алегофлуд был

@haskell_blah

Yuuri
25.06.2018
17:33:59
А в чём плюсы-минусы Haskero в сравнении с HIE?

Combot
25.06.2018
18:10:27
combot.org/c/-1001043143583

sherzod
25.06.2018
18:19:41
Но он хотя бы существует как индвид? Или это коллектив?
Если это не шутка, его можно здесь увидеть (если не шутка тоже можно) ) https://www.youtube.com/watch?v=GhERMBT7u4w

Но возможно это его коллективная проекция в наше пространство.

Google
kana
25.06.2018
18:20:32
хм, я думал он молодой

Александр
25.06.2018
18:30:19
@kana_sama, у меня есть один аргумент за Free-монады: Я могу этот подход портировать в C++ без особых ограничений. А вот final tagless не могу :(

kana
25.06.2018
18:31:04
хм, так интерфейсы же просто

это же простой IoC

Maxim
25.06.2018
18:32:05
(врываюсь в диалог) чё такое этот ваш final tagless?

kana
25.06.2018
18:32:24
interface Adventure { void say(string text); } void script(Adventure a) { a.say("hello"); }

Александр
25.06.2018
18:33:29
хм, так интерфейсы же просто
Это будет уже совсем другое.

『Ark』∞
25.06.2018
18:33:48
Игра найди джависта

kana
25.06.2018
18:33:50
да нет, это же ровно оно - проброс словарика с функциями, экзист квантифицированно

Александр
25.06.2018
18:34:53
kana
25.06.2018
18:35:18
нет, final tagless он про терминальные коалгебры и финальные интерпретаторы

IC
25.06.2018
18:35:19
не обязательно монады, не?

Александр
25.06.2018
18:36:19
Зачем тогда он нужен, пишите сразу в ООП языке вроде Скалы

kana
25.06.2018
18:37:43


Александр
25.06.2018
18:37:54
В общем, final tagless мною ощущается как побег из ФП.

kana
25.06.2018
18:38:14
он и есть, это ооп

Александр
25.06.2018
18:38:56
Если это ООП, то где наследование?

kana
25.06.2018
18:39:53
это некое более абстрактное ооп, которое определяют через existential quantification

Александр
25.06.2018
18:40:33
А объекты тогда где?

Google
IC
25.06.2018
18:40:42
А объекты тогда где?
В категориях!

kana
25.06.2018
18:40:52
инстанс класса тут есть объект

Александр
25.06.2018
18:41:25
А состояние объектов тогда где?

Инкапсуляция чего тут происходит, если не состояния, как во всяком ООП?

kana
25.06.2018
18:43:33
тут абстракция над методами, мы получаем Int -> a, не зная его реализации

ща

лекцию найду

Александр
25.06.2018
18:44:04
А ООП - это абстракция над состоянием.

Admin
ERROR: S client not available

Александр
25.06.2018
18:45:44
Как в "final tagless ООП" из метода вернуть другой объект с состоянием, скрытый за своим интерфейсом? Типичная задача Джавоподобного ООП.

IC
25.06.2018
18:45:47
А ООП - это абстракция над состоянием.
это точно не ООП курильщика?

kana
25.06.2018
18:46:07
ну собственно я вот тоже думаю, это какое-то джавовое ооп

Александр
25.06.2018
18:46:41
В общем, мой вердикт: функциональщики придумали какое-то свое ООП, не имеющее ничего общего ни с джавоподобным, ни с аланкеевским

Final tagless не ООП

Ilya
25.06.2018
18:47:26
IC
25.06.2018
18:47:27
Final tagless не ООП
ООП не нужен имхо

Александр
25.06.2018
18:47:29
А вот ИП - да

IC
25.06.2018
18:47:53
ООП не нужен имхо
пофиг X это Y или Z, надо баблишко зарабатывать

Yuuri
25.06.2018
18:47:56
"Final tagless - это попытка натянуть ООП на ФП"

Google
kana
25.06.2018
18:47:58
нашел лекцию кстати https://www.youtube.com/watch?v=lOkG7Xyh6Iw

и вот это http://www.cs.utexas.edu/~wcook/Drafts/2012/ecoop2012.pdf

Sergey
25.06.2018
18:49:07
простите, с чего лучше начать учить хаскель - с теории категорий или с ТРИЗ?

Denis
25.06.2018
18:49:08
@kana_sama я занят, у меня ведьмачьи дела)

kana
25.06.2018
18:49:33
что-то я впервые услышал про ТРИЗ вчера и вот уже второй день все его упоминают

Александр
25.06.2018
18:49:37
Я уже и сам в 2014 году исследовал экзистенциальные типы в контексте ООП. И уже тогда обнаружил проблемы, а также абстракцию monad dependency injection. Можете посмотреть на Хабре статьи

Александр
25.06.2018
18:50:46
kana
25.06.2018
18:51:47
в моем определении ооп, которое я всем рассказываю, это просто открытое множество значений и закрытое множество методов, все остальное отбрасывается

собственно я полагаю это ровно exist типы

Александр
25.06.2018
18:52:16
лучше ссылки давай)
https://habr.com/post/211871/ Здесь и далее в трех частях

Denis
25.06.2018
18:52:17
ООП это коиндукция на коалгебрах

Александр
25.06.2018
18:52:47
Ваша математика идет вразрез с общеприменительной практикой

kana
25.06.2018
18:54:18
Это не ООП, потому что теряется инкапсуляция состояния
не теряется, наоборот, мы не имеем доступ к значению, потому что оно открытое множество, мы не можем его сматчить, мы можем только применять методы, которые возможно меняют состояние, но код изменения состояния для каждого значения есть только у значения, больше никто не знает о нем

Александр
25.06.2018
18:57:08
Я повторю вопрос. В final tagless где инкапсуляция состояния? Такого, чтобы его можно было вернуть под интерфейсом из метода другого инкапсулированного состояния? Абстракцию над потоком исполнения я вижу, абстракцию над состоянием не вижу. Словарь методов - не состояние

У вас данные отдельно, а final tagless код - отдельно, и проблем в их раздельном существовании нет.

Denis
25.06.2018
18:58:30
ну считай тайпклассы тут как интерфейсы или абстрактные классы

Александр
25.06.2018
18:59:14
Интерфейсы над свойствами потока управления и типов, но не интерфейсами над объектами данных

kana
25.06.2018
18:59:23
в final tagless конкретно состояние в функторе

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