Personal blog of a random Engineer
GitHub: github.com/SKY-ALIN
Website: Alinsky.tech
Me: @sky_alin
Post #137
274

Далеко-далеко на западе есть земля, где тепло, нет войны и не нужен vpn
AL @alinsky_tech
Showing posts older than #138 · Back to latest


<<, +, ==.@autoclosure позволяет нам передать условие как неявное замыкание, а блок кода мы можем передать как замыкание, написанное вне списка аргументов. Это выглядит симпатично, но внутренне это просто обертка вокруг стандартного цикла:func until(_ condition: @autoclosure () -> Bool, do action: () -> Void) {
while !condition() {
action()
}
}
var i = 0
until(i == 5) {
print("Iter \(i)")
i += 1
}
inline в функции) или в Scala (через : => синтаксис), это всегда просто абстрагирование уже имеющихся примитивов.flow первого порядка?"goto операторы везде, это скорее про структурированный способ определить как совершаются прыжки между блоками кода.while не просто как ключевое слово языка, а как импортируемую структуру с внутренней реализацией через более простые фундаментальные сущности с возможностью их прочитать через "Go to definition", которая явно определяет точки входа, выхода и логику переходов.async/await/yield полностью как кастомные операторы потока? Когда мы делаем if/else, мы производим прыжки между двумя локальными блоками кода, а когда мы делаем await, мы по сути тоже делаем прыжок, просто не локально, а за пределы текущего контекста функции (в событийный цикл или планировщик) и объявляем точку возврата. Вместо того чтобы рассматривать асинхронность как преобразование конечного автомата, жестко заданное в компиляторе, можем ли мы определить асинхронность просто как межконтекстные прыжки?





Alinsky.tech Обычно научная фантастика подразумевает сказ на 10-100 лет вперёд, ну максимум на 1К. Тут же история о эволюции человека на 650М лет вперёд. Очень мрачно и можно потом залипнуть в потолок на долго. Советую на вечер, меня впечатлило. Интересный факт, all tomorrows…






