Pull to refresh
0
0
Send message

Это 100% не будете именно вы. Это будет другое существо с вашими воспоминаниями.

Я про перенос сознания, а не про копирование. Вы утвреждаете что перенести сознание в принципе невозможно?

В компьютере есть только биты на транзисторах, никаких квантовых эффектов там нет.

Ну есть еще квантовые компьютеры.

Нет такой гарантии. Вообще, в принципе. Копия никак не связана с оригиналом.

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

А с чего вы взяли, что она вам что-то дает? Это пока еще не доказано.

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

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

Зачем вам именно перенос для стопроцентной идентичности?

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

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

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

Все правильно, все законы можно выкинуть.

Не совсем все выкинуть, а просто не думать о тех из них, про которые думает компилятор. Пока о них думает компилятор например проверяя типы — все хорошо. Ну вот допустим написали хитрый fold, а потом выяснилось что с ним ассоциативность не работает за которой компилятор не следит — что результат будет зависеть от того в каком порядке фолдить. И узнаем об этом на проде где много ядер и потоков, где возникли кейсы, в которых он стал меняться.
Все абстракции текут, тут ничего не поделать. С другой стороны если нам не нужен какой то из законов, то почему бы его не выкинуть? Если выяснили что для композиции достаточно быть просто моноидом и не нужно ограничивать функтор до эндо, то давайте его выкинем вместе с ненужными нам свойствами типа join. Мат законы кажутся ненужными, так как мы начинаем думать о них как о само собой разумеющимся и не требующим доказательств. А потом когда встречаем случай где он не соблюдается и вся наша логика ломается — то сильно удивляемся.
А можно чуть пояснить что такое ИРЛ-программирование и почему там нет настоящих монад? Либо ссылкой кинуть.
Ок, да это больше похоже на ассоциативность самой композиции, а не результата. Не оч удачный получился пример пользы математики)
Мне кажется вы путаете монады с побочным эффектом, ассоциативность которых всего лишь фикция, так как используется фиктивный параметр world и их нельзя схлопнуть, пока его не получишь. А получить его можно только через точку входа. По типу свободных монад они откладывают все вычисления напотом. И обычные чистые монады, ассоциативность для которых означает, что мы можем начинать схлопывать с любого места. Или я ошибаюсь и есть примеры чистых монад, которые нельзя схлопывать с середины?
Это как раз хороший пример того, что чтобы быть монадой в смысле «интерфейс блаблабла» и нормально это в качестве монады использовать — совсем не требуется быть монадой математически

Думаю не совсем так. Если надо последовательно в один поток пройтись по цепочке композированных элементов, то достаточно Bind. Если надо распараллелить проход, то надо чтобы соблюдалась ассоциативность, то есть надо быть полугруппой. Если есть вероятность, что кто то из частей цепочек окажется пустым, то пригодится единичный элемент из моноида. Если это не линейная цепочка, а дерево, то пригодится свойство эндофунктора.
Мне кажется null ввели не потому что так в джаве, а потому что так во всех императивных языках. Мы заранее объявили переменную, хранящую какое то состояние, но использовать будем где то в другом месте, но пока неизвестно когда и где — типичный императивный кейс. А раз так, то ее нужно заполнить чем то дефолтным. Для маленького значимого типа так уж и быть выделим немного памяти для дефолта. А для большого класса с неизвестным заранее размером как то хочется отложить на потом этот вопрос, поэтому пусть будет null. Хотя тут целая статья habr.com/ru/post/309462
А в ФП мире у тебя все состояние в параметрах, поэтому нет необходимости забивать что то по дефолту на будущее.
Если я правильно понял всю эту ветку: Nullable выполняет законы моноида, но не эндофунктора и следовательно не монады, так как конструктор типа Nullable принимает только значимые типы, а возращает только ссылочные, поэтому не допускает вложенность контейнеров. Но возможно ограничение эндо- не такое и нужное и никак не мешает использовать композицию. То есть 1 уровень вложенности хватит для большинства кейсов. А так сложилось просто потому что в Haskell проще не ограничивать, а в C# оказалось проще ограничить.
Кроссплатформенность — хорошо, но что там с зависимыми типами и другими ребрами лямбда куба? Есть большие сомнения. Но сам язык Pascal был в свое время не плох. Остались только хорошие воспоминания о нем со школы.
В последнее время смотрю в сторону Haskell, оч нравится лаконичность и абстрагированность, но к сожалению с Windows он не особо дружен. Запустить GHCi и создавать простые проекты еще можно, но как только пытаешься использовать специфичные библиотеки или что то настроить под свое окружение, сразу натыкаешься на кучу проблем, связанных с тем что винда все же не его родная платформа.
Из функциональных еще рассматривал F# так как это dotNet, но кажется слабоват и недостаточно чистый по сравнению с Haskell.
Безусловно все описанное в статье очевидно и трудно с этим поспорить. Но где бы найти такой язык с полной инфраструктурой кроссплатформенной (иде, дебаггер, профайлер) и с хорошим сообществом, у которого была бы сильная типизация и возможность легко абстрагироваться от не нужной информации и легко вводить нужную. Мой профессиональный язык кажется далек от этого. Например для индекса в массиве заставляет указывать количество битов, и не позволяет зашить в нем ограничение на выход из диапазона указанного масива.
Это уже протечка абстракции. Клиента не должно волновать создаётся оно там, клонируется или ещё что — для него ресурс существует всегда

Именно в ФП клиента не волнует что внутри функции если тип возвращаемого значения T. А вот в императивных языках нет такого четкого контракта, приходится везде проверять на null либо потом ловить NRE в runtime, вместо compile time проверки.
Не бряку поставить, ни код вписать для логирования, ни трай кетч.

А вдруг это все правда станет не нужно в настоящем ФЯ без mutable и прочего? Нет никакого зависимого окружения. Берешь любой кусок кода, отправляешь в REPL и получаешь результат работы. Не надо пол часа компилить, разворачивать базу нужной версии, поднимать инстанс, настраивать окружение, расставлять бряки чтобы отловить какую нибудь глупую ошибку в имени переменной.
Может еще кому пригодится, у меня была ошибка — отсутствие поля Id в модели. Я так понял без него не работает.
Scaffolding T4 для Visual Studio 2013 не применимо.

Можно узнать, что именно там не поддерживается и какие есть альтернативы.

Information

Rating
Does not participate
Registered
Activity