github inkle/ink 0.7.3
Version 0.7.3

latest releases: v1.1.1, v1.1, v1.0.0...
6 years ago

A solid batches of fixes and improvements.

  • Far more robust detection of naming collisions between various symbol types. You might notice some new errors in your ink that weren't being detected before!
  • Much improved behaviour for default choices (* ->), and disallowed usage of -> outside of this.
  • More divert types supported on choices, so you can do for example * out of the tunnel we go! ->->.
  • The divert taken after a tunnel return can now take parameters, useful for this pattern ->-> where_next(-> egypt).
  • The &&/and and ||/or operators on lists now check whether they contain anything, then do a logical and/or on the results. Previously and used to do the union operation on lists (e.g. cloak and dagger). Instead, you need to do cloak + dagger.
  • Fix for using x++ and x += y within functions, and general increased compiler robustness for them.
  • EXTERNALs can now be defined anywhere. Previously there were errors with using them below knots.
  • New READ_COUNT() internal function that can be used on variable divert targets, which wasn't possible before.
  • Can now store a variable divert target that points to a knot that takes parameters, and therefore get the READ_COUNT / TURNS_SINCE of it. Warning, there's no checking for the number of parameters that a parameterised knot takes when calling it from a variable divert target. If you get it wrong, weird stuff will happen!
  • Ability to query the current stack depth from runtime state (if you use source rather than the DLL, since it's currently internal), useful for debugging tunnels.

Don't miss a new ink release

NewReleases is sending notifications on new releases.