Language

Pliant language
and FullPliant operating system web site

Web sites dealing with Pliant programming language

This is Pliant third generation web site.

Pliant second generation web site
     All articles should now have been transfered to this site, but there might have been glitches, so the previous site is still available.

Pliant first generation web site

Pliant Cookbook
     Written by Boris Reitman,
     targetting other programming languages programmers.

News

2024-04-10: As Pliant project turns 25, Pliant release 118 has been published.
  It's been a long time since Pliant last release, but the project never stopped, so there are quite a lot of fixes and improvements all over the code.
  Among the main changes, we find:
  FullPliant operating system install tool can now install a full Linux Debian system (1).
  FullPliant operating system can now run Debian has a KVM virtual computer over Bubblewrap (best security) or a Pliant logical computer (direct hardware access).
  Pliant HTTP proxy now provides easy U2F interface (Yubikey, Android phone biometric sensor, etc).
  Pliant DNS server now provides DoT (DNS over TLS), and the ability to automatically and temporary switch to the secondary web server when the main one is unreachable.
  Pliant crypto layer can now automatically update it's tables, as an example when a server IP address changes, and automatically and temporary switch to the secondary server when the main one is unreachable.
  The Pliant audio subsystem has been reframed.
  Many small other changes (diff is roughly 30000 lines)

(1) You fill a single install form, then get a ready system, instead of having to answer questions all along as with Debian install tool.
        You can also script it very easily.
     Install tool can also handle Raspberry pi and Pinebook pro without the need to start from a prebuilt disk image.

2020-10-13: Pliant release 117 published.
  Contains a native implementation of ACME v2 protocol (ACME protocol enables to automatically renew HTTPS certificates from Let's Encrypt).
  Bug fixes for OSX 64 bits mode.
  FullPliant operating system install code cleanup.
  Dump files now check and are automatically ignored instead of crashing in case of address space randomization.

2020-5-22: Pliant release 116 published.
  Much improved HTTP proxy, with cleaner code, but now supporting only modern browsers : better styling, upload, download, paragraph editing, images update, tab browsing.
  Reworked run.pli script for auto-detecting various available services.
  Anti-aliasing is now always on for the UI client, not only for fonts but also for vector drawings, thanks to a second, faster, algorithm.
  Enhanced Dashboard for FullPliant operating system.
  Many small other changes (diff is roughly 10000 lines)

2020-5-19: Some aphorisms by Hubert Tonneau, freely inspired by a few key points in 'Du capital à la raison' book. In french.

Aphorismes

Here is just one, translated for your, english only geeks :
The foreman used to have a whip, now he has a spreadsheet.

2019-9-30: 'Du capital à la raison' book published (same author as Pliant, very different subject).
Capitalism will soon bring us more catastrophies, the raise of populists beeing the warning sign of. It's unability to handle ecological constrain beyond nice words is even more obvious. This book exposes an alternative, which is neither socialism, nor good citizens based.
Just as Pliant language, this book is for the guys who read the content rather than assuming that quality matches popularity, and expect to read something serious that is not just a nicely packaged variation of what they have already read quite some time ... and can read french.

'Du capital à la raison' book on Amazon

Here is the translated abstract for engligh only speakers :

Abstract

2019-6-29: Pliant release 115 published.
  Main change is the inclusion of an ARM64 code generator (Pliant can now run on Armbian 64 bits, and a board such as Odroid C2 can be switched to run FullPliant operating system).
  Added a backward protocol to enable accessing a Pliant computers behind NAT.
  Added a standard way to reuse the same TCP connection when using a Pliant PML encoded protocol such as remote function call or remote file access. See 'recycle' option in /pliant/util/pml/channel.pli
  Many small others (diff is rougly 20000 lines)

Old news

Downloads

Download source code and executables

Computing culture

Understanding memory allocation schemes implications

Pliant documentation

Introduction

What is Pliant ?

Pliant un-success story

Pliant code license

How to learn using Pliant ?

Installing Pliant

Optimizing the service versus cost ratio in your computing system

Programming languages classification

Language

Pliant language overview
     Explains the kind of compromises programming languages are all about. Interesting to read even if you don't plan to use Pliant as a programming language.

Pliant development environment
     How to write your first Pliant program

An introduction to programming
     Will be ... one day :-)

Syntax

Controls

Functions

Arithmeric and booleans

Text handling

Pointers and memory allocation

Sets data types

Types

Casting

Streams
     Files, TCP and UDP sockets, Unix pipes, FTP, HTTP, SMTP, LPR, Zlib, secured connections.

Threading

Debugging

Profiling

Modules

Non syntactical meta programming
     A must to anyone expecting to go beyond standard professional programmers mediocrity.

Compiler machinery

Pliant bootstrapping code written in C

A trivial Pliant text mode application

User interface - web framework

An introduction to Pliant UI (graphic mode user interface)

Configuring the UI client to securely access a remote application

A first Pliant UI application

Pliant UI basic instructions set

Good looking using Pliant UI

High interactivity applications using Pliant UI

Pliant UI HTTP proxy

Internationalization of an application user interface

Pliant graphical stack machinery layout

   Color models

   Image layer

   Vector layer

Storage - database server

An introduction to Pliant storage

A gentil introduction to using Pliant database

Using Pliant databases advanced features

PML encoding

The storage machinery layout

Database engine layout

Other subsystems

Operating system operations 

Files handling

Cryptographic system

Pliant audio system

FullPliant operating system

Why FullPliant ?

Building or installing a new Pliant release

Building or installing a new Linux kernel for FullPliant

Building or installing new set of executables for FullPliant

Installing virtual computers under FullPliant

Support

Pliant projet is supported by Copliant company