About LDPL

LDPL is a very simple (but powerful) programming language designed from the ground up to be excessively expressive, readable, fast and easy to learn. It mimics plain English, in the likeness of the good parts of older programming languages like COBOL, with the desire that it can be understood by anybody. It's compiled, static, very portable and runs on a plethora of different architectures and operating systems including AMD-64 Linux, Windows and macOS, ARMv8 Linux, Android and both Intel and PowerPC OS X (tested from Tiger 10.4 onwards). It even supports UTF-8 out of the box.

Check the LDPL repository for more examples and more information about the language.

Getting LDPL

LDPL comes in two flavors: precompiled releases and self-built development versions. This means you can download the latest stable release, that might not be up to date with the newest, bleeding edge features, but will work fine on most systems and is already compiled for you; or build LDPL yourself from source, giving you access to the latest features of the language. Development LDPL code tends to be stable, compile and work fine, but hidden bugs may still lurk in there!

The latest stable release is LDPL 3.0.5 "Creative Carnotaurus". To install this LDPL release, download it here and then move the binary to a folder on your PATH. Precompiled releases are available for x64 Windows, Linux and macOS.

The current development version is LDPL 3.1.0 "Diligent Dreadnoughtus". To install this LDPL release, first clone the LDPL repository, then run make and make install in the src folder. This will install LDPL and the LDPL documentation (man ldpl) on your system. LDPL requires only C++11 to compile.

Note for Windows users: compilation under Windows has been tested with MinGW as installed on that guide. MinGW-w64 seems to have some problems compiling LDPL. Also, it is advised to configure git autoclrf to use Unix-style end-of-line: git config core.autocrlf input. LDPL relies on an AWK script which will not work properly with DOS-style newlines (CLRF).

Using LDPL

LDPL is very easy to learn. The LDPL documentation is available here. Check that to learn yourself some LDPL (for the greater good!). The documentation is also uploaded to the ldpl-docs GitHub repository and can be read and forked from there. The LDPL documentation can also be found on your system using man ldpl when you install LDPL by using make install. The man page is also available in the man folder of the LDPL repository.

Many code editors support LDPL, including:

A Visual Studio Code extension by dvkt is available for LDPL.
A Vim plugin developed by Araml is available for LDPL.
A Atom package developed by Damián Garro is available for LDPL.
A Nano highlighting file by Lartu is available for LDPL.

You can use any other editor (without syntax highlighting) if you like. If know how to write syntax packages for other editors and would like to contribute to the LDPL project, a highlighting extension would be a very welcome contribution.

Contributing to the LDPL Language

If you'd like to add a feature to LDPL, document it, fork it (or whatever), check the source code at GitHub. Pull requests, bug reports and feedback are really more than welcome! You can add statements to the language (that's in fact really easy!), fix bugs, add issues, write examples, write some software in LDPL, etc. Check out the contribution guide for more information.

If you want to talk to the rest of us, you can find the LDPL community at r/LDPL and via IRC on irc.freenode.net, channel #ldpl. Also on Telegram via the ldpllang group. The IRC and Telegram channels are bridged. You are welcome to open new LDPL channels anywhere else if you want to.

Featured Community Projects

csvlib, a library for handling csv files for LDPL by fireasembler.
Dino, an LDPL Interpreter written in LDPL by dvkt.
GILD, gopher client by dvkt.
beKnowledge, a simple tool to help you read faster by Lartu.
IRCBot.ldpl, an IRC bot library for LDPL by Lartu.
LBI, a Brainf*ck interpreter by Lartu.
LDPLNOISE, LDPL port of Linenoise by dvkt.
LDPL Space Mines, a management game by Carbontwelve.
Spark, ▁▂▃▅▂▇ in your shell, ported by Carbontwelve.
Ambulisp, a Lisp interpreter by Ambulancja.

If you've made something with LDPL contact us or post it on r/ldpl and we'll add it to this list (also, if you upload it to GitHub, be sure to tag it with the 'ldpl' topic)!

Contact and License

Feel free to contact me via email to mdelrio (at) dc.uba.ar, via Telegram to @lartu or via the community options mentioned above.

LDPL is distributed under the GNU General Public License 3.0. All LDPL Dinosaur logos are released under a Creative Commons Attribution 4.0 International (CC BY 4.0) license.