//No Comment - HHVM, Bash & CoffeeScript
Written by Alex Amstrong   
Wednesday, 28 September 2016

• Facebook's PHP/HACK VM - HHVM 3.15 

• Bash-4.4 Release available 

• CoffeeScript 1.11.0


Sometimes the news is reported well enough elsewhere and we have little to add other than to bring it to your attention.

No Comment is a format where we present original source information, lightly edited, so that you can decide if you want to follow it up. 



Facebook's PHP/HACK VM - HHVM 3.15

The next LTS release of HHVM has been cut and packages are now available for Ubuntu 14.04, 15.04, 15.10, and 16.04; and Debian 7 and 8.

This release replaces the 3.9 LTS and brings with it a host of improvements and new features.

The 3.15 release features native support for the shmop, pg-sql, and scrypt extensions, enhancements to the garbage collector, critical fixes for TC recycles which had been broken in recent releases. Also included in this release, various bug and incompatibility patches, and enhancements to inlining, method dispatch, and other important performance optimizations.

Many of the extension and user-facing bug fixes included in this release would not have been possible without the support of our community, both through pull requests and bug reports. 

Instructions for installing HHVM from either packages or source can be found in ourdocumentation. Should you encounter any new issues with this release please file a bug report on our issue tracker.



Bash-4.4 Release available

The first public release of bash-4.4 is now available..

Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX shell spec, but also with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features.

This release fixes many outstanding bugs in bash-4.3 and introduces several new features. The most significant bug fixes are the remaining changes to reworking of signal handling to avoid running signal and trap handlers in a signal handler context. There are also several changes dealing with variables that have been given attributes but not values, which means they are technically unset. The nameref variable implementation was overhauled and cleaned up considerably, with as little disruption to backwards compatibility as possible.

All of the released patches for the shellshock vulnerability, and several other related changes, are included in bash-4.4.

The most notable new features are

  • mapfile's ability to use an arbitrary record delimiter
  • a --help option available for nearly all builtins
  • a new family of address@hidden expansions that transform the value of `parameter'
  • the `local' builtin's ability to save and restore the state of the single-letter shell option flags around function calls
  • a new EXECIGNORE variable, which adds the ability to specify names that should be ignored when searching for commands

Also new is the beginning of an SDK for loadable builtins, which consists of a set of headers and a Makefile fragment that can be included in projects wishing to build their own loadable builtins, augmented by support for a BASH_LOADABLES_PATH variable that defines a search path for builtins loaded with `enable -f'.


CoffeeScript 1.11.0

The "improved" JavaScript alternative is now available in as release 1.11.0.

New features include:

  • supports ES2015 import and export syntax.
  • Added the -M, --inline-map flag to the compiler, allowing you embed the source map directly into the output JavaScript, rather than as a separate file.
  • A bunch of fixes for yield:

  • yield return can no longer mistakenly be used as an expression.
  • yield now mirrors return in that it can be used stand-alone as well as with expressions. Where you previously wrote yield undefined, you may now write simply yield. However, this means also inheriting the same syntax limitations that return has, so these examples no longer compile:

    doubles = ->
      yield for i in [1..3]
        i * 2
    six = ->
        2 * 3
  • The JavaScript output is a bit nicer, with unnecessary parentheses and spaces, double indentation and double semicolons around yield no longer present.
  • &&=||=and= and or= no longer accidentally allow a space before the equals sign.
  • Improved several error messages.
  • Just like undefined compiles to void 0NaN now compiles into 0/0 and Infinity into 2e308.
  • Bugfix for renamed destrucured parameters with defaults. ({a: b = 1}) -> no longer crashes the compiler.
  • Improved the internal representation of a CoffeeScript program. This is only noticeable to tools that use CoffeeScript.tokens or CoffeeScript.nodes. Such tools need to update to take account for changed or added tokens and nodes.
  • Several minor bug fixes, including:

  • The caught error in catch blocks is no longer declared unnecessarily, and no longer mistakenly named undefined for catch-less try blocks.
  • Unassignable parameter destructuring no longer crashes the compiler.
  • Source maps are now used correctly for errors thrown from .coffee.md files.
  • coffee -e 'throw null' no longer crashes.
  • The REPL no longer crashes when using .exit to exit it.
  • Invalid JavaScript is no longer output when lots of for loops are used in the same scope.
  • A unicode issue when using stdin with the CLI.




To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.


JetBrains Integrates Gemini Into AI Assistant

JetBrains has integrated Google DeepMind's Gemini language model into its AI-powered coding tool, AI Assistant. AI Assistant will now use the combined power of Gemini and several of JetBrains' proprie [ ... ]

Fluid Framework 2 Now Production Ready

Fluid Framework 2, Microsoft's development platform for collaborative ways to work with documents, is now production ready, according to Microsoft.

More News

kotlin book



or email your comment to: comments@i-programmer.info



Last Updated ( Tuesday, 04 October 2016 )