Skip to content

4.0 - Diligent Dreadnoughtus

Compare
Choose a tag to compare
@Lartu Lartu released this 27 Jul 22:49
· 440 commits to master since this release

4.0 - Diligent Dreadnoughtus

What's new

This is LDPL 4.0 Diligent Dreadnoughtus. Rawrrr! This release reworks a great part of the language, fixes all the bugs introduced in LDPL 3.0.5 and marks a new milestone in the history of LDPL! This release is not backwards compatible with 3.0.x LDPL releases, as most of the redundant statements have been moved into the LDPL Standard Library.

New features and changes:

  • Windows support has been dropped.
  • The ADD, SUBTRACT, MULTIPLY, DIVIDE, CEIL, ABS, INCR and DECR statements have been removed and moved to the Standard Library.
  • Many statements have been renamed in a more consistent fashion. Check the LDPL documentation should any older statement not compile.
  • Now you can check if LISTs and MAPs are equal (or not equal) in the WHILE and IF statements.
  • The VECTOR type has been renamed MAP.
  • Added the LIST type along some statements to use it.
  • Statements that stored multiple values in MAPs (like SPLIT) now do so in LISTs (and not in MAPs anymore).
  • Fixed some trailing whitespace errors within the END QUOTE statement.
  • Now you can CALL sub-procedures before declaring them.
  • The FOR and FOR EACH statements have been added.
  • The IMPORT statement has been added to import files to your project.
  • The EXTENSION statement has been added to add C++ extensions to your project.
  • The FLAG statement has been added to pass flags to the C++ compiler.
  • Sub-procedures now can receive parameters by calling them using CALL mySub WITH parameters. Check the documentation for more information.
  • Sub-procedures now can have local variables by using the local-data: section.
  • The CREATE STATEMENT statement has been added to allow for the creation of new LDPL statements.
  • Many bugs fixed.

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 @dgarroDC for his awesome contributions.

Bugs

None known yet.

Source Code

The source code for this release can be downloaded below.

Binaries

Linux x64 binaries are provided. LDPL 4.0 should also work on x64 macOS, 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.