Работает ли это или нет, зависит от того, что вы хотите, чтобы он делал. Это, безусловно, работает в том смысле, что для двух заданных логических значений он вернет ожидаемый результат. Однако он не будет функционально эквивалентным обычному or
, потому что он не закорачивает, то есть, если ваше определение (or #t (/ 0 0))
вызовет ошибку, потому что вы делите 0 на 0, а при использовании обычного or
он просто вернет #t
и не пытайтесь оценить (/ 0 0)
вообще.