SHA sums SHA-256 sum b9dbcc15e2a9ad1e7951aa51046abf2abc4e498f186baf2cf664ff26f279e863 SHA-256 sum 283eb3ac6dd8c9560e10b808adaa8a9a2a09b37e51ba5942b88449391cd70968


Compiling langur 0.10 requires the following (see installation instructions). Since we're now using Go modules, the IDE might download and install these for you automatically.

As of 0.8, it is no longer necessary to use the decNumber library and CGo wrapper, as it has been replaced with a slightly modified version of shopspring/decimal, a native Go library with arbitrary precision.

Compiling langur 0.7 or earlier also requires the following (see installation instructions).

revision history

A full revision history is included in the download.

2022-08-02 - 0.10.5 - to reduce startup time, only builds system early/late bindings if used - limit string size returned for invalid command line flag 2020-06-03 - 0.10.4 - updated date-time literals to allow other ways to specify a current date-time in a specific time zone, such as dt(US/Arizona) 2020-04-26 - 0.10.3 - removed automatic conversion of strings to arrays in group(), groupby(), and groupbyH(); use s2cp() if you need

breaking changes

0.10 changes parsing multi-variable assignment in 2 ways (limited to statement context or tests of if expressions, and no longer uses parentheses).

0.10 disallows declarations in given test expressions, but no one will miss it.

0.10 removes break with value not using assignment operator (deprecated in 0.9.6).

0.10 removes using explicitly negated modifiers, as no longer necessary (deprecated in 0.9.4).

0.9.3 allows an ending block quote marker to be spaced from the beginning of the line with tabs and spaces. It also standardizes the result of group() when called with 1 argument (by truthiness) to always put true array first, then false array second.

0.9.2 returns nanoseconds, not seconds, from toNumber() when passed a date-time.

0.9 limits declaration expression context to statement or to if/given expression tests.

0.8.4 changes the default of base and hex interpolation modifiers to pad with spaces; precede the number with 0 to pad with zeroes. 0.8.4 also fixes padding counts for interpolation modifiers to include the sign, if one present.

0.8 changes the 1 part for loop (test only) to a while loop, with implicit loop variable _while.

0.8 changes the decimal implementation from a fixed 34 digit precision to an "arbitrary precision" decimal. The following changes were also made.

0.7 changes the implicit exception variable from .err to _err.

0.7 removes the use of carriage return/line feed combination for new lines in source code (deprecated since 0.6.8). Use ASCII line feed only ("Linux new line").

0.7 evaluates complex test expressions for given expressions once instead of on every case. This is both more efficient and convenient.

0.6 disallows anything but a variable to be used as a lone token in an interpolation.


Langur uses the Apache license 2.0.

The Go wrapper for decNumber and the decNumber library use an ICU license, which is included with the download.