Next: , Up: TC-R   [Contents][Index]


4.6.1 TC-R Samples

Note that the transformation does not apply to field names.

let
  type a = { a: int }
  function a(a: a): a = a{ a = a + a }
  var a : a := a(1, 2)
in
  a.a
end

File 4.28: as.tig

$ tc -X --rename -A as.tig
/* == Abstract Syntax Tree. == */

function _main() =
  (
    let
      type a_0 = { a : int }
      function a_2(a_1 : a_0) : a_0 =
        a_0 { a = (a_1 + a_1) }
      var a_3 : a_0 := a_2(1, 2)
    in
      a_3.a
    end;
    ()
  )

Example 4.34: tc -X --rename -A as.tig