packages feed

funcons-simple-0.1.0.3: tests/Kexceptions/Kexceptions01.fct

initialise-binding initialise-storing initialise-giving finalise-failing finalise-throwing scope
  (collateral (bind
    ("main",
     allocate-variable (functions
       (tuples ((values)*),
        values)))),
   sequential (assign
     (bound ("main"),
      function closure (scope
        (match
          (given,
           tuple ()),
         handle-return (scope
           (bind
             ("e",
              allocate-initialised-variable
                (values,
                 decimal-natural ("100"))),
            sequential
              (handle-thrown
                (scope
                  (bind
                    ("x",
                     allocate-initialised-variable
                       (values,
                        decimal-natural ("5"))),
                   sequential
                     (if-else
                       (is-greater-or-equal
                         (assigned (bound ("x")),
                          decimal-natural ("0")),
                        throw (integer-add
                          (assigned (bound ("x")),
                           decimal-natural ("2"))),
                        null),
                      print (decimal-natural ("20")))),
                 scope
                   (bind
                     ("e",
                      allocate-initialised-variable
                        (values,
                         given)),
                    print (assigned (bound ("e")),
                    " "))),
               print (assigned (bound ("e")),
               " "),
               print (decimal-natural ("10"),
               "\n"))))))),
   apply
     (assigned (bound ("main")),
      tuple ())))