Об этом я не подумал. Но, можно ещё внедрять зависимости наоборот. Вставлять калбеки из чистых функций в монадические вычисления. Тогда, если дело ограничивается return.f, то можно давать некоторые гарантии. Но, как только вы заменили сигнатуру f с возвращающей a на IO а, так сразу возможен биг бадамум.
Если вы выполняете вычисление в монаде, то оно имеет доступ к побочным эффектам этой монады.
В первом варианте при вычислении c' может произойти всё что угодно, поскольку оно выполняется в IO (надеюсь то, что на месте return.to Upper может быть любое вычисление вида IO Char понятно).
Если вы засунете калбек с типом IO a глубоко внутрь вычисления и захотите там достать из него a, то у Вас всё вычисление будет в монаде IO, и гарантировать что там кроме Вашего калбека больше ничего не произошло вы не сможете.
Таким образом внутрь чистого вычисления, чтобы оно оставалось чистым, можно передавать только иммутабельные аргументы.
Странно всё это. На сколько я понимаю концепция состоит не в том чтобы отложить вычисления с побочными эффектами, а в том чтобы отделить их.
Если тебе нужно что-то из IO достань его, а потом положи в чистую функцию.
Счетчик 16 битный, но применяется по модулю размера памяти команд.
Память команд и память данных у авра разные.
И до кучи — нету на голом железе ни кучи ни стека.
Можно быстрее. Запрещяете прерывания и пишите через всю память порт 0, порт 1. Счетчик команд циклический, а порт, если мне не изменяет память, по умолчанию — out. получаете меандр на половине тактовой частоты.
Как только вы отказываетесь от тотальности (windows конечен и патчи к нему конечны) теорема об остановке перестает быть применима. Для любого конечного можества программ с конечным множеством входов существует программа решающая проблему остановки.
Колмогоровская сложность определяется с точностью до константы.
Для любой конечной последовательности существует язык, в котором она кодируется программой длинной в один бит.
И наконец, если я правильно это понял, в любом языке почти все конечные последовательности имеют описание не короче их самих.
Удивительно, но бесконечно-большие и бесконечно малые связаны через 1/х.
И стоит определить что значит в ваших терминах бесконечность, бесконечность плюс 1 и больше.
Так и аксиоматика уже не Пеано, а Пеано+.
Классически приводятся аксиомы групп, так как существуют неизоморфные группы. Но кмк аксиоматика это не совсем то, что подразумеваяется под термином явление, для моделей которого мы обсуждаем изоморфизм или отсутсвие такового.
Если мне не изменяет память, то, с учетом аксиом поля, порядка, дедекинда и архимеда, действительные числа единственные, до изоморфизма. Чтобы сделать что-то новое, нужно от каких-то аксиом отказаться.
Это я перепута, прочитал то что хотел.
Тем не менее, развивая мысль.
Если модель отражает не все признаки явления, то она ему не эквивалентна, а значит вопрос о транзитивности просто не стоит. Однако можно сделать факторизацию через проекцию на отражаемые признаки.
С изоморфизмом сначала стоит определить, что мы будем им считать, и только после этого мы сможем понять есть он или его нет.
Это не IO. Это — Reader.
В первом варианте при вычислении c' может произойти всё что угодно, поскольку оно выполняется в IO (надеюсь то, что на месте return.to Upper может быть любое вычисление вида IO Char понятно).
Если вы засунете калбек с типом IO a глубоко внутрь вычисления и захотите там достать из него a, то у Вас всё вычисление будет в монаде IO, и гарантировать что там кроме Вашего калбека больше ничего не произошло вы не сможете.
Таким образом внутрь чистого вычисления, чтобы оно оставалось чистым, можно передавать только иммутабельные аргументы.
сравните
и
Если тебе нужно что-то из IO достань его, а потом положи в чистую функцию.
Память команд и память данных у авра разные.
И до кучи — нету на голом железе ни кучи ни стека.
Для любой конечной последовательности существует язык, в котором она кодируется программой длинной в один бит.
И наконец, если я правильно это понял, в любом языке почти все конечные последовательности имеют описание не короче их самих.
И стоит определить что значит в ваших терминах бесконечность, бесконечность плюс 1 и больше.
Классически приводятся аксиомы групп, так как существуют неизоморфные группы. Но кмк аксиоматика это не совсем то, что подразумеваяется под термином явление, для моделей которого мы обсуждаем изоморфизм или отсутсвие такового.
Тем не менее, развивая мысль.
Если модель отражает не все признаки явления, то она ему не эквивалентна, а значит вопрос о транзитивности просто не стоит. Однако можно сделать факторизацию через проекцию на отражаемые признаки.
С изоморфизмом сначала стоит определить, что мы будем им считать, и только после этого мы сможем понять есть он или его нет.