Skip to content

fut 3.0.0

Compare
Choose a tag to compare
@pfusik pfusik released this 09 Aug 11:32
· 347 commits to master since this release

How to install:

  • Windows: download and run fut-3.0.0-win64.msi
  • macOS: brew install fusionlanguage/fut/fut
  • Ubuntu 22.04+: download and install fut_3.0.0-1_amd64.deb
  • Fedora 38+: download and install fut-3.0.0-1.x86_64.rpm

Changes since 2.2.0:

  • The language is now called Fusion and its transpiler fut. Use the .fu extension for Fusion source code.
  • The transpiler is now self-hosted, transpiling itself to C++, C# and JavaScript. Native binaries are released for Windows, macOS and Linux. (#48)
  • case value when condition.
  • References of different kinds and classes can now be compared: basePtr == derivedNullablePtr, baseReadWritePtr == derivedReadOnlyPtr.
  • The + and += operators no longer concatenate strings with numbers or objects. Use string interpolation instead.
  • Fixed priority of division/modulo as rhs of multiplication. (#92)
  • Fixed floating-point constants with integer values.
  • Fixed comparisons with literal null/true/false on lhs.
  • Fixed nested ternary operators.
  • arrayStorage.Contains.
  • int.TryParse, long.TryParse.
  • Enum.FromInt.
  • EnumFlags.HasFlag.
  • TextWriter.WriteCodePoint.
  • StringWriter.Clear.
  • Improved float literals.
  • Interpolated string formats in C++.
  • Java collections of float and double.
  • Fixed long.MinValue in C, C++ and D.
  • Private constants prefixed with # in JavaScript.
  • Improved assert in JavaScript.
  • Switched private to # in TypeScript.
  • Top-level native in Python and Swift.
  • Various C and C++ fixes.
  • Emitting let for object storage to prevent Swift compiler warning.
  • Improved error reporting.