Skip to content

0.7.0 Typing Update

Compare
Choose a tag to compare
@AIexandrKotov AIexandrKotov released this 24 Apr 19:20
· 76 commits to master since this release
2c64a81

REPL 2.0.0

New:
    - Spliited to .NET 4.7.1, 6.0, 7.0 and 8.0
    - Locals of context with `--context`
    - Multiline input supporting
    - Output of annotated methods, generic methods
    - Output symbols cap `repl.max_output` (default: 2500)
Supporing:
    - Broken compatibilty with SLThree 0.6.0 and older

SLThree 0.7.0 Typing Update

Language:
    - Supporting .NET platform (.NET Standard 2.1+)
    - Generic methods `<T>(...) => ...`
    - Type annotations `T x = y`, `(T x, T y) = (1, 2)`, `(T a): T => a`,
      `foreach (T x in ...)`
    - Generic invokation `x<T>(a, b)`, sys.tlinq (typed linq)
    - Match expression `match (x) { y ==> 1; z ==> { return; }; }`
    - Typed creators `<T>[x, y]`, `<TK, TV>{x: y}`, `<T>x..y`
    - Tuples get specific types right away `(1, ) is tuple<i64>`
    - Array creator `-[x, y]`, `<T>-[x, y]`
    - Non-conflict null-conditionals: `x?()` => `x.?()`, `x?[]` => `x.?[]`
    - Operator is with assign `a is i64 b`
    - Dot notation `d.x = y` for dictionaries`
    - private context
    - Getting ConstructorInfo with `@T::new(...)`
    - Removed `switch` statement
    - Supporting unicode names
Bugfixes:
    - `continue;` is working correctly now (#112)
    - fixed re-calling functions with `new T`, `as T`, etc.; (#113)
    - fixed names starting with special names (#114)
    - fixed negative numeric literals (#118)
    - fixed unexpected symbols in using (#119)