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
andDECR
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
LIST
s andMAP
s are equal (or not equal) in theWHILE
andIF
statements. - The
VECTOR
type has been renamedMAP
. - Added the
LIST
type along some statements to use it. - Statements that stored multiple values in
MAP
s (likeSPLIT
) now do so inLIST
s (and not inMAP
s anymore). - Fixed some trailing whitespace errors within the
END QUOTE
statement. - Now you can
CALL
sub-procedures before declaring them. - The
FOR
andFOR 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
.