LINUX.ORG.RU

Ответ на: комментарий от buddhist

вовсе нет! что представляет из себя современная информатика:

  • лямбда-исчисление
  • комбинаторная логика
  • теория категорий
  • языки программирования

так что нужно/не нужно в данном контексте не уместно.

ymn ★★★★★
() автор топика
Ответ на: комментарий от ymn

Нет, оно, конечно, дико интересно, но мне хватает теорий, чтобы забивать мозг еще одной :)

buddhist ★★★★★
()
Ответ на: комментарий от ymn

По ссылке автор приводит хорошее сравнение с литературой, проведу его и я, только немного в другом виде. Хорошему писателю или поэту (читайте — программисту) вовсе не обязательно углубляться в дебри филологии и лингвистики, читателю — тоже. Это рефлексивные теории.

buddhist ★★★★★
()

Если вы в вашу функцию вставляете System.out.println(«Mom, I'm in a function!»), то это у вас монада. Если вы вставляете

String myDrive = new File(".").getAbsolutePath().split(":")[0]

, то это тоже монада.

Монада головного мозга. Везде обзывает меня мандой, а что это толком такое не объясняется. И как правильно подмечено, можно жить спокойно, не зная что это такое

Zorn
()
Ответ на: комментарий от buddhist

вовсе не обязательно углубляться

конечно нет. просто лично мне интересны основы, вот и ковыряю их потихонечку на досуге.

ymn ★★★★★
() автор топика
Ответ на: комментарий от Zorn

Монада головного мозга

на самом деле монада - очень слабая абстракция. почти все можно подвести под ее определение.

ymn ★★★★★
() автор топика
Ответ на: комментарий от ymn

Может, я хз. Я просто, как человек, нифига в этом не смыслящий, сходил по ссылке и решил узнать чего-то интересного. И вот фиг, не узнал. Узнал только то, что монады в общем случае не коммутируют, однако что такое монады - не узнал. В общем, я надеялся, что даже самому неподготовленному будет интересно.

Глазами неподготовленного - там восторги на пустом месте.

Zorn
()

Всюду, где я встречаю рассказы о монадах для чайников, вижу примеры на IO. Не мог бы ты дать понятное любому похапешнику определение, можно на пальцах, что такое монада, зачем она нужна и дать пример без IO. Тема интересная, но не достойная осиливанию целой книжки по хацкелю.

staseg ★★★★★
()
Ответ на: комментарий от staseg

Вот довольно простое объяснение и без IO http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html

Грубо говоря, хочешь неявно протащить некий стэйт через последовательность действий, и делаешь интерфейс этих действий таким чтобы их было легко комбинировать — снабжаешь тип результата монадными свойствами (return и bind).

Имхо в языках отличных от хаскеля и подобных не особо нужная вещь.

nokachi
()
Ответ на: комментарий от staseg

понятное любому похапешнику определение, можно на пальцах, что такое монада

Монады на практике это такое обобщение для сишной точки с запятой.

Например: выполнить первую команду, если команда вернула результат, то выполнить вторую команду, иначе остановить выполнение (монада Maybe). Или так: выполнить первую команду, получить в качестве результата новое состояние окружения (новые значения переменных или даже новые состояния файлов), выполнить команду справа в новом окружении (монады State и IO).

зачем она нужна и дать пример без IO.

Вот http://en.wikibooks.org/wiki/Haskell/Understanding_monads#Motivation:_Maybe замечательный пример с Maybe.

kim-roader ★★
()
Ответ на: комментарий от kim-roader

Спасибо! Первый понятный простому похапешнику ответ.

P.S. Вообще планирую в первое же свободное время расширить сознание хаскелем.

staseg ★★★★★
()
Ответ на: комментарий от encyrtid

Хаскель :) Но это близкие заболевания, тут язык программирования боготворится и превозносится как спаситель. Однако, я уже выяснил, что ТС им не страдает.

buddhist ★★★★★
()
Ответ на: комментарий от one_more_hokum

Поэту, чтобы использовать в своем произведении слово «мудак», вовсе не обязательно знать, от какого слова оно произошло и какие трансформации претерпело за тысячи лет, в том числе и смысловые. Ему достаточно знать, что это слово означает сегодня и как оно пишется и произносится сегодня.

delete83 ★★
()
Ответ на: комментарий от buddhist

Без углубления в дебри филологии и лингвистики у «писателя»-«поэта» на выходе получается нечитаемое, унылое говно. Начисто лишённое стилистики, и от того абсолютно похожее на over 9000 таких же высеров прочих, не удосужившихся ознакомиться со всякими там филологиями и лингвистиками.

one_more_hokum ★★★
()
Ответ на: комментарий от delete83

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

Угу, а потом благодарные читатели ржут над всякими «стрелками осциллографов», и прочими «стремительными домкратами». Действительно, зойчем творцу знать, что такое «домкрат», и отчего в реальной жизни он бывает стремительным чуть реже, чем никогда?

one_more_hokum ★★★
()
Ответ на: комментарий от one_more_hokum

Вы вообще чувствуете разницу между пониманием, что означало слово «муда» две с лишним тысячи лет назад и что означает слово «мудак» сегодня? Чего вы идиотом то прикидываетесь? А еще посоветую вам ознакомиться с таким понятиям, как символизм. Думаю, вы откроете для себя новый, видимо, неведомый ранее мир.

delete83 ★★
()
Ответ на: комментарий от one_more_hokum

А уж как помогают поэту и писателю в его творчестве знания о том, что английское «water» и русское «вода» произошли от одного и того же древнего корня из праиндоевропейского языка.

delete83 ★★
()
Ответ на: комментарий от delete83

что означало слово «муда» две с лишним тысячи лет назад и что означает слово «мудак» сегодня

Если аффтар пишет что-то про нынешние дни, он может использовать слово «мудак» с его текущей семантикой. Но если он соберётся ваять про события, когда оное слово означало совсем другое — то неплохо было-бы ему знать то, прежнее, значение. И временной отрезок, на котором произошла смена семантики. А иначе получится очередная безблагодатная поделка, над которой будут ржать все, более-менее сведущие читатели.

one_more_hokum ★★★
()
Ответ на: комментарий от delete83

английское «water» и русское «вода» произошли от одного и того же древнего корня из праиндоевропейского языка

Как минимум, такие знания позволят не скатиться в задорновщину, как максимум — сильно помогут при переводах. Море примеров, когда из-за незнания семантики буржуйского слова в контексте фразы «переводчик» выдаёт на-гора совершенную херню.

one_more_hokum ★★★
()
Ответ на: комментарий от delete83

Ну и про «стрелку осциллографа» я тоже упоминал. Причём, зная семантику слова «осциллограф», как нынешнюю, так и изначальную, можно было легко отгавкаться от претензий.

one_more_hokum ★★★
()
Ответ на: комментарий от ymn

И доскональное знание всего этого не поможет тебе написать, например, связный список. Информатика (была, есть и будет) - это структуры данных и алгоритмы их обработки.

anonymous
()
Ответ на: комментарий от staseg

Монада - интерфейс из двух функций с определенными типами. Все, больше понятие «монада» в применении к хаскелю ничего не содержит.

anonymous
()
Ответ на: комментарий от anonymous

ты путаешь теплое с мягким.

Дискретная математика (была, есть и будет) - это структуры данных и алгоритмы их обработки.

fixed

ymn ★★★★★
() автор топика
Ответ на: комментарий от ymn

Неправильно. Дискретная математика _используется_ в информатике, как один из основных инструментов. Как матан в фиизике, например.

anonymous
()

Кстати, в контексте поста автора определение монады гораздо более удобно давать через join, т.к. join гораздо понятнее чем bind. То есть фундаментально - если монада инкапсулирует в себе процесс вычисления, то нам надо в итоге получать процесс «первого уровня», то есть m t, но не m1 (m2 t). Мы это умеем делать, если у нас есть соответствующий трансформер. join - частный случай такого трансформера для m = m1 = m2. Осталось прояснить семантику этой операции «сплющивания» в рамках именно вычислений.

anonymous
()
Ответ на: комментарий от anonymous

Осталось выяснить, что автор статьи имел в виду под термином «сплющивание» и зачем вообще нужно трансформировать монады. А так все ок. Даже непосвященному понятно, о чем идет речь (правда непонятно, зачем вообще нужно то, о чем говорится в статье)

delete83 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.