Skip to content

0.5.0

Compare
Choose a tag to compare
@SenkJu SenkJu released this 01 Oct 16:17
· 519 commits to master since this release
  • Added ability to import external source files using import <path>.
  • Added namespacing for std lib functions.
    • Sys.println(s)
    • Sys.print(s)
    • Sys.read_line()
    • String.length(s)
    • String.char_at(s, n)
    • String.split(s, d)
    • Math.PI
    • Math.abs(n)
    • Math.floor(n)
    • Math.sqrt(n)
    • File.read_utf8(p)
    • File.read_utf8(p, s)
    • Array.push(a, v)
    • Array.pop(a)
    • Array.length(a)
    • Array.map(a, cb)
  • Added support for single-line comments using //.
  • Added null type.
  • Added support for != operator.
  • Added support for <= and >= operators.
  • Added support for && and || operators (short-circuit evaluation).
  • Added support for else if.
  • Added --no-debug flag to omit debug data from bytecode.
  • Expressions now implicitly return the last expression if ; is omitted.
  • Expressions that don't evaluate to a value now return null.
  • Values of objects can now be accessed using . ({test: 1}.test).
  • Changed string concatenation operator to ><.
  • Fixed wrong scope of function parameters.
  • Fixed unary operator not working properly on object/array indices.
  • Snekky will no longer evaluate the bytecode if --dump flag is present.