Вышла синтаксическая надстройка над php - php-snow Различия с оригинальным php
- убран ненужный префикс $
- петоноотсупы вместо {} (на любителя), отступ в 4 пробела обязательно (сомнительное решение), и даже есть pass
- запятые в массивах и вызовах функций необязательны но если пишите запятые то пишите везде (товарищи не понимаю что запятая только во благо как визуальный разделитель и ее можно пустить ка ненужную когда каждый аргумент на новой строчке)
- конкатенация строк оператором % (довольно необычный выбор)
- сокращатель слова return - <- (имхо он должен смотреть в другую сторону)
- у if, while и прочих flow control сущностей на надо скобок (товарищи не понимают что они визуально группируют выражение, это вовсе не мусор)
- постфиксный if - when <- a when b == 1 вместо if(b == 1) <- a (ага теперь у вас будет уходить еще больше времени на то чтобы подумать как тут написать - через if или через when, а еще теперь вы случайно не заметите when где то в конце строки)
- 3 буквенные сокращения слов - con вместо const, pri вместо private итд (ребята и не знали что у нас автокомплит а их обрывки, а не сокращения вовсе даже не читаемы и потеряются из-за своей короткости в коде)
- упрощенный switch с опущенным словом case (сомнительное решение) и авто break ом или fallthro если break не нужен (довольно популярный костыль)
- сокращенный синтаксис для функции - fn(аргументы) тело. Если аргументов нет то скобок тоже не должно быть (и зачем такое, не понимаю)
- Костылек для императивщины пхп - foo(a, b) <=> a->foo(b), опять же если аргументов нет то скобок обязательно быть не должно (см. предыдущий пункт) (а ну и да теперь очередной ненужный выбор foo(a) или a->foo)
- гуарды на аргументы функции (что само по себе огромный плюс) @int x _ > 0 fn(x) _inc <- x + 1 (юзание невидимой переменной _ взято из скалы и довольно неудачно, ее просто не видно), поддерживается много гуардов в []
- нету this - доступ к внутренностям класса через просто точку .a = 1 или :: ::a = 1 для статиков (опять таки довольно неудачно - точка внизу, ее не видно, как разделитель она хороша но не как префикс)
- поддержка or c null ем и empty - a ?? b и a ?! b соотвественно
- statement as expr из лиспа и скалы a = if b > 0 <-- 1 else <-- 2 (отношусь негативно, легко заоверюзать, легко не разглядеть эти <-- и вообще порождает сложно читаемый код)
- поддерживает костыль из пхп $i = 'a'; $$i = 1 <=> $a = 1 ввиде {a} <=> $$a (коллизия с подстановкой в строку)
- Внезапно доллар никуда не девался - теперь он как префикс констант
- нету конструктора - он просто помещается в тело класса (взято из цейлона емнип) и обязательно на самом верху, деструтор обязательно внизу но объявленный явно
- требует строгий порядок полей в классе - сначала константы потом публичные потом защищенные и уж потом частные
Ну и порождает это чудо код не строчка в строчку с оригинальным кодом так что будет отличный дебаг
P.S. код выделен подчеркиванием потому что у вас <pre> c новыми строками