Pull to refresh
13
0
Send message
Перечитал, подумал, ещё раз перечитал, взял карандаш.
Это не IO. Это — Reader.
Об этом я не подумал. Но, можно ещё внедрять зависимости наоборот. Вставлять калбеки из чистых функций в монадические вычисления. Тогда, если дело ограничивается return.f, то можно давать некоторые гарантии. Но, как только вы заменили сигнатуру f с возвращающей a на IO а, так сразу возможен биг бадамум.
Упс, видимо с первой попытки не так понял, возражение снимается.
Опять смешаны кадрирование и частичное применение.
Если вы выполняете вычисление в монаде, то оно имеет доступ к побочным эффектам этой монады.
В первом варианте при вычислении c' может произойти всё что угодно, поскольку оно выполняется в IO (надеюсь то, что на месте return.to Upper может быть любое вычисление вида IO Char понятно).
Если вы засунете калбек с типом IO a глубоко внутрь вычисления и захотите там достать из него a, то у Вас всё вычисление будет в монаде IO, и гарантировать что там кроме Вашего калбека больше ничего не произошло вы не сможете.
Таким образом внутрь чистого вычисления, чтобы оно оставалось чистым, можно передавать только иммутабельные аргументы.
Нет это не одно и тоже. Всё что вычисляется в монаде IO имеет доступ к побочным эффектам ввода-вывода.
сравните
c<-getChar
c'<-return.toUpper $ c
putChar c'

и
c<-getChar
let c'=toUpper c
putChar c'

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

Information

Rating
Does not participate
Registered
Activity