On Sat, Jan 20, 2024 at 9:07 PM Dr. Arne Babenhauserheide <arne_...@web.de>
wrote:

>
> Damien Mattei <damien.mat...@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> ⇜ ⇝)
    (<+ +> ⥆ ⥅)
    )

  )

Best regards,
Damien

Reply via email to