Skip to content

@Lartu Lartu released this May 5, 2019 · 34 commits to master since this release

3.0.4 - Busy Brontosaurus

What's new

This is LDPL 3.0.4 Busy Brontosaurus. This release fixes all bugs found in LDPL 3.0.3 and enhances compatibility with C++ extensions. Also:

  • The -n / --non-static compiler flag has been completely added (and documented here).
  • The ERROR-CODE and ERROR-TEXT system variables have been added to the language. When an operation that could potentially fail is executed (for example loading a file), these variables will report the result. Documented here.
  • The statement EXTERNAL SUB-PROCEDURE has been added to the language and documented in the reference so you can call LDPL SUB-PROCEDURES from C++ code.
  • The statement IN - SOLVE has been added to the language and documented in the reference.
  • The statement LOAD FILE has been expanded to use the ERROR-CODE and ERROR-TEXT system variables and has been documented in the reference.
  • The statement STORE CHARACTER CODE - IN has been expanded to use the ERROR-CODE and ERROR-TEXT system variables and has been documented in the reference.
  • Identifier naming schemes have been properly defined here.
  • Valid number literal schemes have been properly defined here.
  • The compiler codebase has also been strongly simplified.
  • The -c compiler flag has been added to accept source from standard input (more here).
  • The --version and --help messages have been updated to be more informative.
  • The commands make install and make uninstall have been added to the Makefile.
  • A man page for LDPL has been added to the repository and is installed along with the compiler when installing LDPL via make install. To check it just run man ldpl.

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 and @dgarroDC, their wonderful contributions made this release possible.

Known bugs:

  • ERRORCODE and ERRORTEXT are not reset after a successful STORE CHARACTER CODE OF. You should reset them manually if you use the binaries and source provided here.
  • EXECUTE AND STORE EXIT CODE is not returning the proper exit codes for values other than 0.

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.4 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.

Assets 5

@Lartu Lartu released this Apr 21, 2019 · 144 commits to master since this release

What's new

This is LDPL 3.0.3 Active Argentinosaurus. This release mostly addresses bugfixes for bugs found in LDPL 3.0.0. The -ns compiler flag has been partially added (for Linux only, Windows and macOS build non-statically by default). A new statement STORE QUOTE has been added to the language and documented in the reference. This is also the first release to bear a dinosaur code-name.

This release has been tested and should work stably, but should you come across a bug do not hesitate to report it.

Known Bugs

  • LDPL for Windows is building non-static binaries. This was not the intended behaviour and will be fixed.
  • ABS is broken and doesn't work as expected.

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.3 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.

Assets 5

@Lartu Lartu released this Apr 13, 2019 · 182 commits to master since this release

LDPL 3.0.0

What's new

This is LDPL 3.0.0, expanding the horizons of the language! This new version is the biggest update yet since the release of LDPL, mostly thanks to the tireless work of ʇʞʌp. LDPL now has C++ compatibility, so you can share LDPL variables and functions with C++ (and viceversa) and, among other things, use LDPL to create graphic applications (with SDL) or use any other C++ library you'd like (provided you write an LDPL compatible wrapper for it).

The new extension is documented in the reference. Support for LABEL and GOTO statements has also been added due to popular request, so you can go make Dijkstra turn in his grave (you monsters). There's also a new ELSE IF, with support for all the same statements as the regular IF.

This release has been tested and should work stably, but please report any bugs you find should you come across one.

Known Bugs

Due to a last minute addition, this release doesn't have a functioning ELSE statement. As a replacement you can use ELSE IF 0 IS EQUAL TO 0 THEN for now. This has been fixed in the repository.

Source Code

The source code for this release can be downloaded below.

Binaries

Being a major LDPL release, Windows x64, macOS x64 and Linux x64 binaries are provided. LDPL 3.0.0 should also work on Windows x86, ARMv8 Linux, 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.

Assets 5

@Lartu Lartu released this Mar 30, 2019 · 250 commits to master since this release

ldpl 2.2.0

What's new

This is LDPL Stable Release 2.2.0. Hooray! This new version brings a lot of new stuff to the table. First of all, many bugs have been fixed. Then, this new statements have been added to the language (and will be added to the reference later today):

  • CALL SUB-PROCEDURE procedureName was a bit lengthy and tiresome to write, so now you can use CALL procedureName instead if you want. The older version is still supported for compatibility.
  • In previous versions of LDPL, loading files required the use of hacky shenanigans using the EXECUTE function. Not anymore! Now you can use LOAD FILE filename IN variable to load the contents of a file into a text variable!
  • Along with LOAD FILE, you can now use WRITE x TO FILE y to write the value x to a file called y.
  • Along with WRITE x TO FILE y, you can now use APPEND x TO FILE y to append the value x to the file called y.
  • In previous versions of LDPL, pausing your program for a moment required usage of WHILE loops. That's not accurate, so in LDPL 2.2.0 the WAIT x MILLISECONDS command has been introduced. It does what the can says!
  • Joining more than two values in previous versions of LDPL required the usage of multiple JOIN statements, and that was kinda cumbersome. So now you can use IN variable JOIN value1 value2 value3 value4 ... to join as many values as you want in a text variable, in just one line of code!

Source Code

The source code for this release can be downloaded below.

Binaries

LDPL has been tested and works on x64 Windows, x64 macOS, x64 Linux, ARMv8 Linux, PPC Linux and PPC OS X. Please download the source code and compile LDPL yourself by following the instructions detailed on README.md. Binaries for x64 Windows and Linux will be uploaded later today.

Assets 2

@Lartu Lartu released this Mar 30, 2019 · 256 commits to master since this release

About

This is LDPL Stable Release 2.1.3.

Changes

Many bugs were fixed thanks to our generous contributors.

Source Code

The source code for this release can be downloaded below.

Binaries

While I've only uploaded binaries for x64 Windows, LDPL has been tested and works on x64 macOS, x64 Linux, ARMv8 Linux, PPC Linux and PPC OS X. Please download the source code and compile LDPL yourself by following the instructions detailed on README.md.

Assets 3
Mar 18, 2019
Merge pull request #30 from VictorSCushman/master
-v, --version, -h, or --help take priority

@Lartu Lartu released this Mar 15, 2019 · 263 commits to master since this release

Changes

The statement WHILE string IS NOT EQUAL TO string DO was found to be broken. It has been fixed in this release. The VECTOR LENGTH extensions have been removed (they weren't part of the standard so no retrocompatibility is broken, though).

Source Code

The source code for this release can be downloaded below.

Binaries

While I've not uploaded binaries for x64 Windows, x64 macOS, x64 Linux, ARMv8 Linux, PPC Linux or PPC OS X, LDPL has been tested and works on these platforms. Please download the source code and compile LDPL yourself by following the instructions detailed on README.md.

Assets 2

@Lartu Lartu released this Mar 13, 2019 · 278 commits to master since this release

Changes

The awk compiler script has been fixed as it did not work correctly on some platforms. As all the compiler compiles all the examples without any notices, warnings or errors, this version is considered stable.

Source Code

The source code for this release can be downloaded below.

Binaries

The file ldpl-windows-x64.zip contains LDPL for Windows 64 bits.
The file ldpl-linux-x64.zip contains LDPL for Linux 64 bits.
The file ldpl-linux-arm.zip contains LDPL for Linux ARMv8 (like the RPi).

While I've not uploaded binaries for x64 macOS, PPC Linux or PPC OS X, LDPL has been tested and works on these platforms. Please download the source code and compile LDPL yourself by following the instructions detailed on README.md.

Assets 5

@Lartu Lartu released this Mar 13, 2019 · 298 commits to master since this release

LDPL 2.1.0 includes the new vector functions STORE LENGTH OF <vector> IN <num-var>, yet to be documented in the standard.

Source Code

The source code for this release can be downloaded below.

Binaries

The file ldpl-windows-x64.zip contains LDPL for Windows 64 bits.

While I've not uploaded binaries for x64 Linux, ARMv8 or PPC Linux / OS X binaries, LDPL has been tested and works on these platforms. Please download the source code and compile LDPL yourself by following the instructions detailed on README.md.

Assets 3

@Lartu Lartu released this Mar 12, 2019 · 305 commits to master since this release

LDPL 2.0.6 is equal in functionality to LDPL 2.0.5, but it now works under Windows. Since version 2.0.4, LDPL code is compiled instead of being interpreted, so it's very, very fast! From this release onwards, we will respect this semantic versioning format.

Speeeeed!

Source Code

The source code for this release can be downloaded below.

Binaries

The file ldpl-windows-x64.zip contains LDPL for Windows 64 bits.

While I've not uploaded binaries for x64 Linux, ARMv8 or PPC Linux / OS X binaries, LDPL has been tested and works on these platforms. Please download the source code and compile LDPL yourself by following the instructions detailed on README.md.

Assets 3
You can’t perform that action at this time.