Skip to content

Releases: dy/subscript

v10.1.0

22 Jan 15:23
@dy dy

Choose a tag to compare

  • regex format changed for better JSON serialization /abc/gi: [, new RegExp('abc', 'gi')]['//', 'abc', 'gi']`
  • undefined JSON serializes better: [, undefined][]
  • compile() accepts [null, value] as valid elision form [, value]

Full Changelog: v10.0.0...v10.1.0

v10.0.0

17 Jan 22:09
@dy dy

Choose a tag to compare

  • Template tag syntax: subscript\a + b`(ctx)` with interpolation support
  • Jessie preset: metacircular JS subset (parses itself)
  • ASI (automatic semicolon insertion) support
  • async/await, import/export, try/catch/finally
  • Control flow: if/else, for, while, do-while, switch
  • Classes, destructuring, rest/spread
  • Units: 12px, 3em, regex literals
  • bundle utility for self-contained builds
  • Statements / keywords registration API

Full Changelog: v9.0.0...v10.0.0

v9.0.0

09 Nov 16:43
@dy dy

Choose a tag to compare

  • Added stringify function for codegeneration
  • Fixed precedences/binary edge-cases
  • group, access operators maintain pair look in tree [], {}, ()
  • justin has ..., ??, ?., ?.[, ??=, >>=, ||=, &&= operators
  • misc minor fixes

Full Changelog: v8.0.0...v9.0.0

v8.0.0

16 Feb 03:42
@dy dy

Choose a tag to compare

What's Changed

  • Pluggable language features
  • Standardized common syntax
  • Added assignment operators += -= *= /= %=
  • Flatten code - no set, no wrappers
  • Generic access node handling
  • Simplified primitives wrapping [,true] vs ['',true]
  • a?.valueOf?.() context calls support
  • Misc. fixes

Full Changelog: v7.4.0...v8.0.0

7.4

17 Jul 18:17
@dy dy

Choose a tag to compare

7.4
  • Fixed nary
  • More complete tests
  • Added skip argument to nary
  • Better error display
  • Type definitions
  • Rassoc precedence is half, not full

Full Changelog: v7.4.4...v7.4.5

7.1

11 Apr 14:41
@dy dy

Choose a tag to compare

7.1
  • Add explicit parse.unary, parse.binary and parse.nary registerers
  • Add redefinable parse.id and parse.space

7.0

18 Feb 14:36
@dy dy

Choose a tag to compare

7.0
  • Reintroduces AST/calltree as intermediary layer for better optimizations, extensibility and interop.
  • Better registering fn.
  • +10% parsing performance (170ms → 150ms)
  • +20% eval performance (17ms → 13ms)
  • +30% size (1kb → 1.3kb)

Full Changelog: v6.4.0...v7.0.0

6.1

04 Jan 23:42
@dy dy

Choose a tag to compare

6.1
  • Collect & expose found arguments
  • Better error messages
  • Removed tagged literal

Full Changelog: v6.0.0...v6.1.0

6.0

27 Dec 21:56
@dy dy

Choose a tag to compare

6.0

What's Changed

  • Direct evals as result of parsing.
  • No lisp tree layer.
  • Tokens and comments are parsed from lookup table.
  • Single set method for defining operators or parsers.
  • Postfix unaries are now custom parsers.
  • Removed code, char functions.
  • No fancy literal wrappers or string prefixes.
  • Size -20% (2.5 → 2kb)
  • Parsing perf +20% (200 → 160ms)
  • Eval perf +50% (30 → 15ms)

Full Changelog: v5.5.2...v6.0.0

5.5

08 Dec 01:40
@dy dy

Choose a tag to compare

5.5

What's Changed

  • ×3 faster eval due to flat reducer & fn type detection
  • evaluate.operator is a function on par with parse.operator
  • split core and subscript and justin configurators
  • string, literal tokens are unary operators
  • literals handling
  • word operators are externalized
  • more tests
  • strings are prefixed with @ only, no "" tokens

Full Changelog: v5.0.0...v5.5.2