status: final (2017-12-18)
keywords: Syntax
See also SRFI 26: Notation for Specializing Parameters without Currying.library name: predicate-combiners
Recognizing binary predicates as a specific area
in which the use of prefix operators is an impediment,
we propose a thin layer of "syntactic stevia" for in-fixing
such predicates. It can be implemented using regular Scheme
macros. We suggest that the code (is x < y)
should
be transformed to (< x y)
, and (is x < y <= z)
-- to (let ((y* y)) (and (< x y*) (<= y* z)))
.
In addition, we suggest special meaning to the _
symbol:
(is _ < y)
and (is x < _)
should be transformed to (lambda (_) (< _ y))
and (lambda (_) (< x _))
, respectively.
This SRFI document also describes some other uses of the
is
macro and its limitations.