On Sat, Jan 20, 2024 at 9:07 PM Dr. Arne Babenhauserheide <
arne_bab@web.de> wrote:
Damien Mattei <damien.mattei@gmail.com> writes:
> by keeping the same
> number of parenthesis, but they are just differents : ( ), { }, [ ]
> and it allow the use of infix expressions.
Is your implementation of {} compatible with SRFI-105? (curly infix)
yes it is based on SRFI-105
Can it be used to provide proper operator precedence? (that’s currently
not offered by SRFI-105 and would be quite an improvement)
yes there is operator precedence , an expression like :
{{x - v * t} / (sqrt {1 - v ** 2 / c ** 2})}
is converted in this one:
(/ (- x (* v t)) (sqrt (- 1 (/ (** v 2) (** c 2)))))
the operator precedence are predefined in a list ordered by priority in the source code:
(define infix-operators-lst
'(
(expt **)
(* / %)
(+ -)
(<< >>)
(& ∣)
(< > = ≠ <= >= <>)
(and)
(or)
(<- -> ← → <v v> ⇜ ⇝)
(<+ +> ⥆ ⥅)
)
)