Skip to content

TL3 Features

Meir Cohen edited this page Mar 14, 2018 · 1 revision

Support features that allow writing code that will not change much in next TL steps. This will make long-term driven coding efficient, with design, documentation, code-review and tests.

  1. Support any order of decelerations - one can use stuff declared after it
  2. Support any kind of expression
  3. Prints clear syntax errors - with file and line of bad source code
  4. Documentation
  5. Automatic object initialization
  6. Basic Generic types: class Type-name{Generic-type-name}
  7. New to a reference: new Type in expression
  8. "Special" string formatting using *:
    * function-name("format string with {}, execute a line for each {} in format string")
      some-function(some parameters...)
      other-function(other parameters...)
    # is same as:
    function-name("format string with ")
    some-function(some parameters...)
    function-name(", execute a line for each ")
    other-function(other parameters...)
    function-name(" in format string")
    
  9. Line braking in functions and expressions
  10. Basic Unit-tests support:
    test f-test-function-name()
      assert condition
      assert-error expression
    
    mock f-mocked-function()
      # override implementation
    
  11. Test zero division
  12. native is not supported
  13. support += and -=

Clone this wiki locally