Janet 1.37.1-83e8aab Documentation
(Other Versions:
          
          1.36.0
          
          1.35.0
          
          1.34.0
          
          1.31.0
          
          1.29.1
          
          1.28.0
          
          1.27.0
          
          1.26.0
          
          1.25.1
          
          1.24.0
          
          1.23.0
          
          1.22.0
          
          1.21.0
          
          1.20.0
          
          1.19.0
          
          1.18.1
          
          1.17.1
          
          1.16.1
          
          1.15.0
          
          1.13.1
          
          1.12.2
          
          1.11.1
          
          1.10.1
          
          1.9.1
          
          1.8.1
          
          1.7.0
          
          1.6.0
          
          1.5.1
          
          1.5.0
          
          1.4.0
          
          1.3.1
          )
        Infix Syntax
A macro for infix syntax in Janet. Useful for math.
     ($$ a + b ** 2)            --->   (+ a (math/pow b 2))
     ($$ (a + b) ** 2)          --->   (math/pow (+ a b) 2)
     ($$ y[2] + y[3])           --->   (+ (in y 2) (in y 3))
     ($$ a > b and ,(good? z))  --->   (and (> a b) (good? z))Syntax is as follows:
Binary operators <<, >>, >>>, =, !=, <, <=, >, >=, &, ^, bor, band, and, or, +, -, *, /, %, ** are supported. Operator precedence is in the `precedence table below (higher means more tightly binding). All operators are left associative except ** (math/pow), which is right associative.
Unary prefix operators !, -, bnot, not, ++, -- are supported. No unary postfix operators are supported.
Square brackets can be used for indexing.
Normal parentheses are used for making subgroups
You can "escape" infix syntax use a quote or unquote (comma)
Precedence Table
(def- precedence
  {'>> 9
   '<< 9
   '>>> 9
   '= 8
   '!= 8
   'not= 8
   '< 8
   '<= 8
   '>= 8
   '> 8
   '& 7
   '^ 6
   'bor 5
   'band 5
   'and 4
   'or 3
   '+ 10
   '- 10
   '* 20
   '/ 20
   '% 20
   '** 30
   '! 40
   'not 40
   'bnot 40
   '++ 40
   '-- 40})Index
infix/$$ macro source 
        
      ($$ & body) Use infix syntax for writing expressions in a more familiar manner. Useful for writing mathematic expressions.