nujan-ide icon indicating copy to clipboard operation
nujan-ide copied to clipboard

Support Tact 1.3.0

Open anton-trunov opened this issue 9 months ago • 0 comments

The Tact team has just release Tact v1.3.0 on NPM.

The full CHANGELOG for Tact v1.3.0 can be found here: https://github.com/tact-lang/tact/blob/main/CHANGELOG.md#130---2024-05-03

And here are a summary of editor/IDE-relevant Tact features.

New or fixed syntax

  • [ ] Fixed precedence levels for bitwise operators, equality and comparisons. Now the precedence levels match common languages like JS/TS.
  • [ ] Support for string escape sequences: \\, \", \n, \r, \t, \v, \b, \f, \u{0} through \u{FFFFFF}, \u0000 through \uFFFF, \x00 through \xFF.
  • [ ] Allow chaining method calls with !!, for instance, map.asCell()!!.hash() is grammatically correct now.
  • [ ] Trailing commas are allowed in struct instantiations, initOf arguments, init() parameters, inherited traits via with, function arguments and parameters.
  • [ ] Struct fields punning, i.e. {foo, bar} is syntactic sugar for { foo: foo, bar: bar }.
  • [ ] Inherited trait lists now must be non-empty if with is used.
  • [ ] Bitwise XOR (^) operator.
  • [ ] The implicit empty init function is now present by default in the contract if not declared.
  • [ ] try {...} and try {...} catch {...} statements.
  • [ ] foreach loop for the Map type: foreach (k, v in map) {...}.

New stdlib functions

  • [ ] pow2, log2 and log math functions in @stdlib/math.
  • [ ] Reserve mode constants in @stdlib/reserve, namely ReserveExact, ReserveAllExcept, ReserveAtMost, ReserveAddOriginalBalance, ReserveInvertSign, ReserveBounceIfActionFail.

New methods

  • [ ] The concat non-modifying StringBuilder's extension function for chained string concatenations: foo.concat(bar).concat(baz).
  • [ ] The toString extension function for Address type: addr.toString.
  • [ ] The isEmpty and del extension functions for the Map type: map.isEmpty, map.del(key).

Related issue https://github.com/nujan-io/nujan-ide/issues/34

anton-trunov avatar May 03 '24 15:05 anton-trunov