Монады с точки зрения программистов (и немного теории категорий)

Монада Конт-Спонвиль

МОНАДА (MONADA). Духовная единица (monas). Термин «монада» сегодня употребляется исключительно в контексте философии Лейбница. Монада есть «простая субстанция, которая входит в состав сложных; простая, значит, не имеющая частей» («Монадология», 1). Может быть, монада — то же, что атом? Нет, если под атомом понимать материальное существо. Монады же суть духовные и исключительно духовные сущности; абсолютно простые, а значит, бессмертные души, которые могут быть, а могут и не быть наделены сознанием, но каждая из которых по-своему выражает вселенную, состоящую из их совокупности.

Монада Фролов

МОНАДА (греч. monas — единица) — философский термин, означающий структурную, субстанциальную единицу бытия. По-разному интерпретируется в тех или иных философских системах. У пифагорейцев, например, монада (математическая единица) — основа мира. У Николая Кузанского («Об ученом незнании», 1440) и Бруно («О монаде, числе и фигуре», 1591, и др.) монада— единое начало бытия, являющегося одухотворенной материей (Пантеизм). В этом начале, по Бруно, совпадают противоположности конечного и бесконечного, четного и нечетного и т. д. Монада — одно из основных понятий философии Лейбница («Монадология», 1714). Он считает монаду простой, замкнутой, активной, т. е. изменяющейся, духовной субстанцией. Монады, наделенные способностью отчетливого восприятия, называются душами. Разумная же душа человека, по Лейбницу,— монада-дух. Отметив мысли Лейбница о том, что в монаде отражается весь мир, что она в форме индивидуальности содержит в себе как бы в зародыше бесконечное, Ленин написал: «Тут своего рода диалектика и очень глубокая, несмотря на идеализм и поповщину» (Т. 29. С. 70). У Ломоносова встречается термин «физическая монада», которым он обозначил частицу (корпускулу) материи. О монаде (называя ее энтелехией) как об активном духовном начале, присущем материи и способствующем индивидуализации объектов, говорит Гёте. Понятие монады в той или иной форме (например, под названием «субстанциальный деятель» у Лосского) используется в современных религиозно-идеалистических системах плюрализма и персонализма.

Философия Лейбница, учение о монадах

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

Монады с точки зрения программистов (и немного теории категорий)

Теория монад Лейбница заключает в себе несколько положений. В мире существует огромное множество субстанций. Они не имеют дуалистической природы, как это утверждал Декарт. Для монады характерна единая природа, и потому данная субстанция неделима и отличается первозданной простотой. Кроме того, она не является предметом материального мира и не представляет собой вещество, которое можно потрогать.

В Haskell

Класс Monad присутствует в стандартном модуле . Для реализации данного класса требуется любой однопараметрический тип (тип рода ). Монада обладает четырьмя методами

class Functor f where
  fmap   :: (a -> b) -> f a -> f b

class Functor f => Applicative f where
  pure :: a -> f a
  (<*>) :: f (a -> b) -> f a -> f b
  (*>) :: f a -> f b -> f b
  (<*) :: f a -> f b -> f a

-- m :: * -> *
class Applicative m => Monad m where
  (>>=)  :: m a -> (a -> m b) -> m b 
  (>>)   :: m a -> m b -> m b -- реализован по-умолчанию: a >> b = a >>= \_ -> b
  return :: a -> m a -- = pure
  fail   :: String -> m a -- по-умолчанию вызывает errorWithoutStackTrace

Метод может ввести в заблуждение программистов знакомых с императивными языками: он не прерывает вычисления, а лишь упаковывает произвольное значение типа в монаду . Метод не имеет отношения к теоретической сущности монад, однако используется в случае ошибки сопоставления с образцом внутри монадического вычисления.).
Оператор является функцией связывания. Оператор  — частный случай оператора , используется когда нам не важен результат связывания.

Некоторые типы, реализующие класс Monad:

  • , используется для функций с побочным эффектом. Конструкторы IO скрыты от программиста, также отсутствуют функции распаковки монады. Это не позволяет вызывать грязные функции из чистых.
  • . Вычисление прерывается, если получено значение Nothing.
  • . Вычисление прерывается при пустом списке. При непустом списке оператор вызывает функцию для каждого элемента списка.
  • .
  • .
  • . Помимо возможностей Reader позволяет изменять состояние.

В языке также присутствует do-нотация, которая является более удобной формой записи монадических функций. В данном примере f1 использует do-нотацию, а f2 записана с помощью операторов связывания:

f1 = do
  s <- getLine
  putStrLn $ "Hello " ++ s
  putStrLn "Goodbye"
  
f2 = getLine >>=
  (\s -> putStrLn $ "Hello " ++ s) >>
  putStrLn "Goodbye"

Концепция монад в программировании была унаследована из теории категорий.

Характеристики и качества монад Лейбница

Монады Лейбница можно охарактеризовать четырьмя качествами:

  • Представление.
  • Стремление.
  • Влечение.
  • Восприятие.

Данная субстанция не является статичной. Она постоянно находится в состоянии изменения, и самое подходящее для нее название – это деятельность. В ходе своей деятельности субстанция, обладающая свойством непрерывности существования, осознает себя, свое развитие и прогресс. Все монады обладают разными качествами и находятся на различных уровнях развития, именно поэтому в мире нельзя найти два абсолютно идентичных объекта.

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

Несмотря на приведенное выше обстоятельство, все монады находятся в изначальной гармонии друг с другом, и этот порядок, согласованность и равновесие были установлены Высшим разумом. Данные объекты являются психическими субстанциями, и потому не взаимодействуют друг с другом на физическом уровне. Однако они не перестают взаимодействовать друг с другом духовно через предустановленное Богом соответствие.

Монады с точки зрения программистов (и немного теории категорий)

Определение слова «Монада» по БСЭ:

Монада (от греч. monбs, родительный падеж monаdos — единица, единое)понятие, используемое в ряде философских систем для обозначения конститутивных элементов бытия. В античной философии это понятие в качестве исходного мирообъясняющего принципа было впервые введено Пифагореизмом, видевшим в числе и пропорции первооснову вещей. От пифагорейцев понятие М. перешло к Платону (диалог «Филеб»),а от Платона — в Неоплатонизм, где получило пантеистическое истолкование как Первоединое, раскрывающее и воспроизводящее себя во множестве вещей посредством эманации.В философию нового времени понятие М. вошло в пантеистической интерпретации Николая Кузанского и Дж. Бруно. У Бруно М. отражают бесконечную вселенную в соответствии с принципом единства микрокосма и макрокосма. В 17 в. понятие М. играет существенную роль в философии испанского схоласта Ф. Суареса, английского платоника Генри Мора, немецкого натурфилософа Ф. М. Гельмонта. Оно становится ключевым понятием всей философской системы у Г. Лейбница, разработавшего специальное учение о М. — «монадологию».По определению Лейбница, М. — это первичная простая (неделимая) активная субстанция, имеющая духовную природу, воспринимающая и отражающая в себе весь мир. Монад бесчисленное множество, и все они находятся друг к другу в отношении предустановленной гармонии. Духовная природа М. исключает их взаимодействие, поэтому гармония между ними сводится к предустановленной богом согласованности. Будучи классическим учением объективного идеализма,«монадология» Лейбница сыграла в то же время важную роль в распространении динамического, диалектического взгляда на природу. В ней содержались такие идеи, как принцип всеобщей взаимосвязи вещей, принцип единообразия законов природы, принцип сохранения, идея всеобщей изменчивости и саморазвития и др. После Лейбница понятие М. разрабатывалось в духе идеалистического рационализма школой Х. Вольфа. В 19 в. идеи монадологии имели отзвук в воззрениях немецких философов И. Гербарта, Г. Лотце и др., в 20 в. — в философии Э. Гуссерля (Германия), А. Уайтхеда (Великобритания), Р. Хёнигсвальда (Германия — США). Монадологический подход лег в основу философских взглядов ряда представителей Персонализма (Ш. Ренувье, Х. Карр, Дж. Мак-Таггарт и др.).Лит.: Ленин В. И., Полн. собр. соч., 5 изд., т. 29, с. 67-76. Cramer W., Die Monade. Das philosophische Problem von Ursprung, Stuttg., 1954. Heimsoeth H., Atom, Seele, Monade…, Mainz, 1960. Horn J. Chr., Monade und Begriff, W. —Mьnch., 1965.Г. Г. Майоров.

Монады с точки зрения программистов (и немного теории категорий)

Characteristics

The Monado is a powerful energy blade that can manipulate the ether around it, and by doing so, change the material and immaterial shape of the world. One’s ability to control the Monado depends on the strength of will of its user; most Homs who try to use the sword cannot control it. At the beginning of the game, the Monado cannot harm any of the people of Bionis.

The Monado grants its elected wielder the power of foresight. It is said that this is possible because all of the ether in the world is calculable in its changes. This allows the user to see where every ether particle is, was, and will be.

The Monado emits a particular ether wavelength in its ground state that attracts Telethia. Also, the Monado can be counteracted by opposing particles to that of the Monado.

All of the must touch the Monado to receive their divination powers.

Характеристики субстанции

Все предметы можно разделить на монады. Их существование подтверждают сложные вещи, которые нас окружают и которые мы можем познать практическим путем, получив некий опыт. Философский принцип гласит, что любая сложная вещь должна состоять из простых. Для Лейбница монада – это духовный атом, который не имеет частей и отличается нематериальностью. То, что эти элементы простые, означает, что они не подвержены распаду и прекращению существования, как все другие смертные субстанции.

Монады с точки зрения программистов (и немного теории категорий)Шлюзы монад закрытые, и в связи с такой изоляцией они не влияют на других, а те, в свою очередь, не воздействуют на них. Они циркулируют в пространстве независимо друг от друга. Этот принцип не характерен для высшей монады – Бога, который наделяет жизнью все остальные элементы и гармонизирует их внутреннее состояние. Предустановленная гармония между простыми субстанциями является живым зеркальным отражением универсума. Несмотря на свою простоту, монада в философии – это феномен, имеющий свою внутреннюю структуру и множественность состояния. Такое состояние, или перцепция, не может существовать само по себе, в отличие от частиц сложных элементов, и это подтверждает простоту субстанций. Перцепции имеют сознательный и бессознательный характер. Второе состояние возможно из-за небольшого размера монад.

Xenoblade Chronicles 2 Arts

The Monado is a weapon in the Xenoblade Chronicles 2 DLC, able to perform various arts when used by a Driver.

  • Monado Shield: Restores 6 – ?% HP when guarding. Recharges other Arts when attacked when used by Rex and Zeke.
  • Monado Buster: A level 3 Blade Special used by Shulk as a blade, attacking in a line, nullifying enemy defense, it is also used by Malos after regaining his power at Balquors Ruins.
  • Monado Speed: A passive ability used by Shulk as a Blade which gives him a 40% accuracy and evasion boost.
  • Monado Purge: A level 1 Blade Special used by Shulk as a blade which negates Elemental awakening auras.
  • Monado Jail: A variation of Monado Purge, inflicting Shackle Blade, used by Malos after regaining his power at Balquor Ruins.
  • Mondo Cyclone: An art that inflicts blowdown, used by Malos after regaining his power at Balquors Ruins.
  • Monado Armor: A variation of Monado Armour, reduces damage taken by combos, used by Malos after regaining his power at Balquors Ruins.
  • Monado Storm: Reduces 20 – 30% of aggro toward user upon landing a hit when used by Rex.
  • Monado Striker: Reduces 20 – 30% of aggro toward user upon landing a hit when used by Nia.
  • Monado Burst: Increases damage dealt from the back by 100 – 150% when used by Rex.
  • Monado Beat: Increases damage dealt to toppled enemies by 100 – 150% when used by Rex.
  • Lucent Glance: Increases damage dealt to toppled enemies by 100 – 150% when used by Nia.
  • Lightning Smash: Increases damage dealt to machines by 50 – 100% when used by Nia.
  • Beam Thrust: Increases knockback, and damage dealt from the back by 50 – 100% when used by Nia.
  • Sudden Smite: Damage to machines is increased when used by Morag.
  • Blade Masquerade: Lowers Aggro when used by Morag.
  • Echo Edge: Damage to toppled enemies is increased when used by Morag.
  • Steel Brand: Inflicts topple upon enemies when used by Morag.
  • Helios Circle: Decreases Aggro when used by used Zeke.
  • Ragnarok Slash: Attack launches enemies when used by Zeke.
  • : Damage to machines is increased when used by Zeke.

Четыре класса монад Лейбница

Немецкий ученый выделял четыре класса монад:

  • Так называемые голые, которые представляют собой мир неорганической природы (землю, камни, полезные ископаемые и пр.).
  • Монады представителей животного мира, которые имеют способность к ощущениям, но их самосознание находится в зачаточном состоянии.
  • Монады людей, называемые также душами. Они имеют уникальную возможность мыслить разумно, запоминать информацию и обладают развитым сознанием.
  • Высшей субстанцией является Бог, отличающийся наибольшим уровнем свободы и представляющий высшую степень разума и сознания.

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

Примечания

  1. ↑ Compact Oxford English Dictionary.
  2. ↑ Sandywell, p. 205. The generation of the number-series is to the Pythagoreans, in other words, both the generation of the objects of geometry and also cosmogony. Since things equal numbers, the first unit, in generating the number series, is generating also the physical universe. (KR: 256) From this perspective ‘the monad’ or ‘One’ was readily identified with the divine origin of reality.
  3. ↑ Диоген Лаэртский, Жизнеописания великих философов.
  4. ↑ This Pythagorean cosmogony is in some sense similar to a brief passage found in the Daoist Laozi: «From the Dao comes one, from one comes two, from two comes three, and from three comes the ten thousand things.» (道生一、一生二、二生三、三生萬物。) Dao De Jing, Chapter 42
  5. Платонов К. К. Структура и развитие личности. — М.: «Наука», 1986. — С. 10. — 256 с.
  6. 1 2 3 4 5 6 Готфрид Вильгельм Лейбниц. Сочинения в четырёх томах. Том 1. — М.: «Мысль», 1982. — С. 413—429.
  7. 1 2 Философский энциклопедический словарь. 1989
  8. 1 2 Блинников Л. В. Великие философы: учебный словарь-справочник, изд. 2. — М., 1997. — 432 с.
  9. 1 2 Философская Энциклопедия. В 5-х т. Под редакцией Ф. В. Константинова. 1960—1970
  10. ↑ В. Лейбниц // Большая энциклопедия Кирилла и Мефодия. 2004
  11. 1 2 Философский энциклопедический словарь. — 2010.
  12. ↑ Новейший философский словарь / Сост. А. А. Грицанов. 1998
  13. ↑ Гуссерль Э. Картезианские размышления. — СПб.: Наука, 2001. — С. 155, § 33.

Arts

Shulk can activate the Monado’s Arts by selecting the large icon in the center of the screen when it is fully charged. He then has access to the various Arts the Monado can perform. Each Art is unlocked at various points in the game, with only Buster and Enchant being available initially. In the beginning, the Monado arts can only reach level 4. After the events on Prison Island, all of the Arts can reach level 10.

  • Buster: powerful attack with a larger blade. Deals double damage to Mechon and Machina.
  • Enchant: strengthens the weapons of the party. Allows normal weapons to damage Mechon.
  • Shield: generates a barrier that protects the party from enemy talent arts of the same level or lower.
  • Speed: gives the target a greater chance to dodge physical attacks.
  • Purge: ranged ether blast that inflicts Aura Seal and nullifies Spike effects.
  • Armour: reduces physical and ether damage taken. Percentage (30%-75%) depends on this Art’s level.
  • Cyclone: damages all enemies around the user and inflicts topple on enemies suffering from break.
  • Eater: strips away enemy buffs and causes bleed damage in a frontal cone.

The following arts cannot be legitimately obtained, but are used by Zanza and the Zanza Guardians during the :

  • Shooter: 8 hit combo, large damage with each shot.
  • Brave: strength up and ether up buffs.
  • Fear: inflicts strength down and ether down debuffs to the party
  • Recover: heals a fairly large amount of health.

История возникновения термина

В учении пифагорейцев, происхождение чисел связано с происхождением геометрических и космогонических объектов. Согласно Диогену Лаэрцию, из монады возникла диада; из диады — числа; из чисел — точки; затем линии, двухмерные, затем трёхмерные сущности, тела, в которых четыре основы, четыре элемента, земля, огонь, воздух и вода, из которых затем был сотворён весь остальной мир. В русском переводе сочинения Диогена Лаэртского термин «монада» переведён просто как единица, из-за чего теряется мистический смысл учения Пифагора, и первое божество отождествляется с числом 1.

…пифагорейцы проводили различие между монадой и единицей; монаду они принимали за мысль, а единицу — за число; и точно так же число два они принимали за арифметическое выражение, а диаду (ибо таково, видимо, то название, которое оно у них носит) — за мысль о неопределенном.

— Гегель Г. В. Ф. Наука логики. — СПБ.: Наука, 1997. С. 191.

Этот же термин использовали и философы-платоники, в частности, такие неоплатоники, как Плотин, Порфирий, Ямвлих и другие, хотя неоплатоники чаще пользуются понятием Единое. Пользовались этим термином также представители других гностических течений, на русский язык термин гностиков обычно переводится, как Абсолют. Термин использовался также неопифагорейцами. У Никомаха первый бог (монада) является демиургом. Демиург рождает диаду. Ум ( Νοῦς) же предстает как принцип бытия и познания всех вещей.

Состояния

Пример с логгером, с которого мы начинали, реализует работу с write-only состоянием, но хотелось бы использовать состояние и для чтения. Модифицируем тип функции так, чтобы получить обогащённую функцию, работающую с состоянием. Добавим в тип функции один аргумент, обозначающий текущее состояние, а также изменим тип возвращаемого значения (теперь это пара, состоящая из самого значения и изменённого состояния):

Объявим синоним типа для работы с состоянием:

Фиксируем тип состояния и покажем, что является функтором. Нам понадобится вспомогательная функция :

Реализация класса :

Таким образом, обогащённые функции из в , в которых ведётся работа с состоянием, имеют тип , причём — функтор. Попробуем превратить его в монаду, реализовав их композицию:

Отсюда получим реализацию класса . Тождественный морфизм, функция , ничего не делает с состоянием, а просто добавляет свой аргумент в пару-результат:

Функция для чтения состояния должна всегда возвращать текущее состояния, ей не нужны аргументы. Можно сказать, что это морфизм из в в категории Клейсли, поэтому функция должна иметь тип :

Конечно, в реализации можно опустить. Здесь он добавлен для того, чтобы показать эту операцию с точки зрения теории категорий.

Запись состояния, наоборот, принимает новое значение состояния и записывает его. Нам важен только побочный эффект, но не возвращаемое значение, поэтому соответствующий морфизм идёт в обратную сторону, из в , а функция имеет тип :

Реализация работы с состоянием вышла чуть более сложной, чем предыдущие примеры, но на её основе можно создать формальную модель для работы с вводом/выводом. В ней предполагается, что «окружающий мир» реализован в виде некоторого типа , о котором неизвестно никаких подробностей. При общении с внешним миром программа получает на вход объект типа и производит какие-то действия, в результате которых получает нужный ей результат и изменяет внешний мир (например, выводит строку на экран или читает символ из потока ввода). Эту абстрактную концепцию можно реализовать с помощью состояния:

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

Функция монады согласно эзотерическим учениям

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

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

Итак, каждому человеку стоит обратить внимание на такое понятие, как монада, значение его очень важно. Несмотря на всю сложность данной темы, необходимо приблизиться к этому философскому и эзотерическому знанию, ведь эта субстанция – отражение духовного пути человека к миру высшему, Божественному. Обнаружив в себе искру Божьего духа, то есть монаду, постигая сокровенные знания и развивая в себе заложенный высшими силами потенциал духовности, каждый может продвинуться на своем пути, осознать свое истинное предназначение, ощутить гармонию внутри себя и невидимую, но прочную связь со всем миром

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

Trivia

  • The powers of the Monado are similar to those of the Zohar, an object that was present in both Xenogears and Xenosaga. The explanation Alvis gives about the origin of the Monado suggest that he has similar capabilities as a Zohar. In addition, the red color and the appearance of the Monado resembles the “Weltall-Id”, which becomes the titular Xenogears.
  • In Xenoblade Chronicles 2, during the two boss fights against Malos at the Cliffs of Morytha, he wields a sword bearing a strong resemblance to the Monado that uses four of the Monado arts: Buster, Armour, Cyclone, and Eater. He also uses an art called “Monado Jail”, extremely similar to Monado Purge; however, Monado Enchant, Monado Shield, and Monado Speed are not used.
  • The name of the Monado is likely derived from the philosophical idea of the monad, which can be traced back to use in ancient Greece. It is generally used to describe some kind of indivisible unit, and in philosophy, the basic, indivisible underlying element of reality (whatever that philosophy purports that to be – e.g. God, energy, material). The term is used in Gnosticism (among many others), which in turn links Xenoblade Chronicles in theme to ‘s other works, Xenosaga and Xenogears. In chemistry, the term monad represents an atom with a valence of one.
  • In the Italian version of the game, the Monado is called “Monade“, the Italian word for monad.
  • In various cutscenes, the Japanese Kanji symbol displayed in the Monado says what it is capable of killing. When Shulk begins the game, the Monado displays the symbol for “Machine”. When Zanza is freed on Prison Island and Shulk gets the Monado II, it says “Person”. During the final battle, when Zanza looks at Shulk’s Monado III and says “That symbol…”, it is because the symbol now displayed says “God”.
  • Despite the game’s lore saying the Monado cannot harm anything born of Bionis, in gameplay it has no difficulty harming any of the monsters that inhabit Bionis. However, when the player is attacked by High Entia in Alcamoth, Shulk’s attacks will bounce off their bodies.
  • Each art of the Monado shows a different color of the blade of light when used.
    • Buster: Blue
    • Enchant: Violet
    • Shield: Yellow
    • Speed: Light blue
    • Purge: Green
    • Armour: Orange
    • Cyclone: White
    • Eater: Black

Исключения

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

Для этого подойдёт, к примеру, уже рассмотренный функтор . При штатной работе функции будут возвращать значение в конструкторе , при возникновении ошибки — значение . Композиция таких обогащённых функций должна работать таким образом, чтобы каждая следующая функция не вызывалась, если ошибка уже произошла в предыдущем вызове:

Определение методов класса для :

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

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

Композиция функций описывается аналогично случаю с использованием :

Определение экземпляра класса уже не должно вызывать трудностей:

Духовное и материальное в монадологии

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

Диалектическая идея Лейбница заключалась в том, что все в мире взаимосвязано и каждая отдельная частица соединена невидимой нитью с миром бесконечности и образует с ним единство. Каждая монада отражает в себе Вселенную, являясь ее живым зеркалом, в этом проявляется связь частей субстанции с единым целым.

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

Эволюционное развитие монад

Блаватская считала, что наша планета Земля должна существовать на протяжении семи циклов – так называемых кругов. Первые три цикла включают в себя ее формирование и обретение твердой формы, в четвертом круге она характеризуется четкими твердыми формами и стабильностью, в течение последних трех циклов Земля возвращается к своему исходному, духовному, состоянию.

В соответствии с данными представлениями об эволюции Земли, Блаватская выделяла три класса монад:

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

Монада в теософских учениях Е. П. Блаватской

Значимый вклад в определение психических субстанций внесла в XIX веке Е. П. Блаватская, религиозный философ и основательница Теософского общества. Понятие «монада» в эзотерических учениях Е. П. Блаватской присутствует в таких ее трудах, как «Тайная доктрина» и «Разоблаченная Изида».

Ее учение основывалось на основных концепциях и терминах буддизма. Монада определяется в теософии как объединенная триада (Атма-Буддхи-Манас) или дуада (Атма-Буддхи). В любом случае термин, принятый в Теософском обществе, не отменяет единой сущности данной философской единицы, которая представляет часть человека, являющуюся вечной, т. е. бессмертной. Монада начинает свой путь в низших царствах и в ходе постепенной эволюции, перевоплощаясь в более развитые формы, передвигается к миру человека. Дальнейшая ее цель – достижение высшей степени совершенства и святости, то есть нирвана.

Монады с точки зрения программистов (и немного теории категорий)

Определение

Категории сами по себе — очень простые конструкции. Категория — это набор объектов и морфизмов между ними. Морфизмы можно рассматривать как однонаправленные стрелки, соединяющие объекты. В общем случае про сущность самих объектов ничего не известно. Теория категорий работает не с объектами, а с морфизмами, точнее — с их композицией.

Используется следующая нотация:

  • ObC — объекты категории C;
  • HomC(A, B) — морфизмы из A в B;
  • g ∘ f — композиция морфизмов f и g.

В определении категории на морфизмы накладываются дополнительные ограничения:

  1. Для пары морфизмов f и g, если f — морфизм из A в B (f ∈ Hom(A, B)), g — морфизм из B в C (g ∈ Hom(B, C)), то существует их композиция g ∘ f — морфизм из A в C (g ∘ f ∈ Hom(A, C)).
  2. Для каждого объекта задан тождественный морфизм idA ∈ Hom(A, A).

Существуют два важных свойства, которым должна удовлетворять любая категория (аксиомы теории категорий):

  1. Ассоциативность композиции: h ∘ (g ∘ f) = (h ∘ g) ∘ f;
  2. Композиция с тождественным морфизмом: если f ∈ Hom(A, B), то f ∘ idA = idB ∘ f = f.

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

Для любой категории можно определить двойственную категорию (обозначается Cop, в которой морфизмы получены разворотом стрелок исходной категории, а объекты — те же самые. Это позволяет формулировать двойственные утверждения и теоремы, истинность которых не меняется при обращении стрелок.

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