3.0.5 - Creative Carnotaurus

What's new

This is LDPL 3.0.5 Creative Carnotaurus. Rawrrr! This release fixes all bugs found in LDPL 3.0.4. Also:

  • The INCR and DECR statements have been added as shorter ways to increment or decrement a value. Documented here.
  • The -i flag now imports files matching the passed order.
  • The REPLACE - FROM - WITH - IN statement has been added to replace the occurrences of a string with another string in a string variable. Documented here.
  • The SPLIT - BY - IN statement has been added to split strings into a vector. Documented here.
  • The GET INDEX OF - FROM - IN statement has been added to find the position of a substring in a string. Documented here.
  • The COUNT - FROM - IN statement has been added to count the appearances of a string in another string. Documented here.
  • The SUBSTRING - FROM - LENGTH - IN statement has been added to extract parts of a string. Documented here.
  • The TRIM - IN statement has been added to trim trailing and leading whitespace from a string. Documented here.
  • A number of statements to make vectors more powerful have been added: CLEAR to empty a vector, COPY - TO to copy a vector, STORE INDEX COUNT OF - IN to get the number of elements in a vector and STORE INDICES OF - IN to store the indices of a vector in another vector.

This release has been tested by the LDPL Test Battery and should work stably, but should you come across a bug do not hesitate to report it. Special thanks to @dvkt for their awesome contributions.

Bugs

While not technically a bug, the WAIT statement included in this release only works under Windows MinGW if the GCC thread model is set to POSIX. If you need to use WAIT with Win32 threads, you'll have to build the latest development version yourself. To check your current thread model run gcc -v.

Source Code

The source code for this release can be downloaded below.

Binaries

Windows x64, macOS x64 and Linux x64 binaries are provided. LDPL 3.0.5 should also work on Windows x86, ARMv8 Linux, Android Termux, PPC Linux and PPC OS X. If you are on one of these platforms, please download the source code and compile LDPL yourself by following the instructions detailed on README.md. In order to build and use the LDPL compiler, C++11 is required on your $PATH.