Alex
Anonymous
Anonymous
мемы
Alexander
квиксорт со StateT ?!
Зигохистоморфный
http://vaibhavsagar.com/blog/2017/05/29/imperative-haskell/
Anonymous
s/StateT/ST/ Не благодарите.
Alexander
ну чтож сразу ответ давать 😏
Зигохистоморфный
s/StateT/ST/ Не благодарите.
так прямо не прокатит)
Vasiliy
такая мысль возникла: вот в школе, когда мы арифметику учим, нам рассказывают, что от перестановки слагаемых сумма не меняется, что 2*(3+4) = 2*3+2*4 итд, а потом начинают постепенно выкидывать то одно свойство, то другое, и оказывается, что можно рассматривать, например, только сложение, а потом из него можно убрать коммутативность, а потом выкинуть ноль, и получаются всё более абстрактные структуры. А что, если бы сначала рассказывали про какую-нибудь магму, а потом по чуть-чуть добавляли туда законы: добавили ассоциативность - на тебе полугруппу, добавили нейтральный элемент - на тебе моноид, обратный элемент - получается группа итд. Как считаете, насколько другим бы результат обучения?
Dmitry
у нас в школе так пытались делать
Vasiliy
почему интересно стало - ведь, как известно, чтобы расстроить ребёнка, нужно сначала дать ему что-нибудь, а потом отобрать это что-нибудь
Dmitry
добромне кончилось
Max
Все бы забили на школу и пошли в трактористы
Vasiliy
вот у меня такие же ощущения возникали, да и сейчас возникают, при попытках осознать какие-то супер-абстрактные вещи
Vasiliy
не, понятно, что числа - это то, с чем постоянно сталкиваешься, но есть же и другие объекты реального мира
Vasiliy
вот кусок пластилина, вот другой кусок пластилина, их можно слепить
Artyom
у нас в школе так пытались делать
прям с магмы начинали? а с какого возраста? а что именно плохого случилось?
Vasiliy
чем не полугруппа?
Dmitry
не, не с магмы.
Vasiliy
мне кажется, в детском возрасте это всё как-то проще бы воспринималось
Vasiliy
и тогда фраза "монада - это моноид в категории эндоморфизмов" была бы сходу всем понятна
Alexander
с абстрактным мышлением в школе (начальной) не у всех прекрасно
Alexander
там яблоки бы считать научить, а им про кольца и алгебры рассказывать будут
Alexander
или геометрию начать сразу с многообразий
Alexander
и прочей доброты
Leonid 🦇
у племянницы в школе как раз по всем таким штукам прошлись в начальной школе. а потом все дети почти с нуля в 5м классе стали учиться считать.
Leonid 🦇
задроты и сами всё изучат. школа должна ориентироваться на среднего дебила
Евгений
Прежде чем пихать абстракции нужно дать конкретные примеры, чтобы порядок возникновения абстракций выглядел логичным развитием мысли, а не появившеймя изнеоткуда схоластики
Евгений
Так как вы говорите строилось образование в средневековых школах. Потому что абстракции типа ближе к Богу и наполнение их смыслом мыслилось как процесс творения
Alexander
а потом у Эйлера в 13 лет было 100500 работ а в 20 он руководил универом (или был рядом)
Alexander
..как хорошо что это интернет и здесь не понять когда люди серьёзны, а когда троллят
Yurii
начинать обучение с теории категорий
ну, для начала надо учителям объяснить (а при учёте, что в пед.институты идут тее, кто никуда более не поступил....) + мировосприятие детей в 5,6,7..11 лет разное (психология, педагогика, простигосподи)
Andrey
По сабжу рекомендю статьи академика Арнольда и его полемику с Бурбакистами. Для затравки - байка от него, якобы реальная. Во французской начальной школе одного первоклассника спросили - сколько будет 3+2. Он ответил - не знаю, но будет столько же, сколько 2+3, потому что сложение коммутативно (С)
Alexander
Добрый вечер, хотел спросить.
Alexander
data T a = A a | B a deriving Eq
Alexander
Class TT (T a) ...
Vasiliy
я полностью согласен, что конкретные примеры нужны, но ведь для многих вещей есть вполне конкретные примеры
Vasiliy
например, моноид, можно на примере строк объяснить
Alexander
Instance TT (T a) where eq x y = x==y
Зигохистоморфный
а свободный на примере списка
Vasiliy
или, скажем, жд состав - прицепили вагоны справа, прицепили слева
Alexander
Вопрос: зачем он требует ограничить a в инстанс по Eq ?
Alexander
Ведь у T есть deriving Eq и он нормально сравнивается
Vasiliy
обратный элемент: добавили в стакан с водой кипятка, вода стала горячее, налили столько же холодной воды, температура такая же, как прежде
Vasiliy
Alexander
T станет Eq только если a тоже Eq
Если я пишу deriving Eq - то оно станет Eq, если может.
Alexander
Но кажется я слона пропустил , в классе я описал через ::a->a->Bool, а надо было ::(T a)->(T a)->Bool
Andrey
Имхо хорошо бы определиться - или дерайвинг, или инстанс
Vasiliy
> data T a = A a | B a deriving Eq > data R = R > A R == A R <interactive>:24:1: error: • No instance for (Eq R) arising from a use of ‘==’
Alexander
Дерайвинг для Eq, а инстанс для eq - функции. Но по-любому спасибо, сейчас проверю.
Andrey
твоя eq = (==) или совсем по-другому можешь ее определить - хозяим барин. Хоть eq _ _ = True
Vasiliy
Если я пишу deriving Eq - то оно станет Eq, если может.
вот именно, что если может, а может оно только если a тоже Eq
Vasiliy
data T a = T a deriving Eq = instance Eq a => Eq (T a) where ...
Зигохистоморфный
ахаа
Alexander
Не, извиняюсь, не заработало и я не понял.
Зигохистоморфный
время веселых снимков экрана)
Евгений
Сделай в тайпклассе TT тип eq :: a -> a -> Bool
Alexander
Евгений
У тебя нету телеграма на компе?
Alexander
К сожалению нет, на рабочем.
Alexander
Но на последней картинке видно норм надеюсь :) сорян конечно.
Artyom
К сожалению нет, на рабочем.
(web.telegram.org можно открыть, если что)
Alexander
С работы нельзя.
Artyom
а, понятно
Alexander
Смотрите, eq тип описан
Alexander
И он T a, у T есть Eq и он норм работает если просто == сравнить.
Alexander
Зачем он требует ещё ограничить внутренний параметр T ?
Евгений
А в инстансе eq (A x) (A y) = x == y eq (A _) (B _) = False ...
Alexander
Не хочу
Евгений
Честно говоря мне не оч понятно чего ты хочешь :)
Зигохистоморфный
С работы нельзя.
а на хаскелл писать можно?)
Alexander
Ок, описал как вы написали, тоже самое: с Eq a => работает, а без - нет
Alexander
Честно говоря мне не оч понятно чего ты хочешь :)
Хочу понять. Почему он требует ограничить параметр типа, который derived Eq
Artyom
> у T есть Eq попробуй сделай A id == A not в репле
Andrey
Страннота какая-то в чате (С) Александр Вершилов
Евгений
А как ты хочешь чтобы без Eq a сравнивать их?