This post is about a programming language that I've never used, called
Pliant. Sometimes knowing something about other languages can be useful
for our language, so I think this is not a fully off topic post. Time
ago I have found Python (that now I am using a lot) because I like to
explore less known languages.

It's a bit like a Lisp without most of its parenthesis:
http://en.wikipedia.org/wiki/Pliant
http://fullpliant.org/

An example of Pliant code:
http://fullpliant.org/pliant/util/encoding/zlib.pli


As bitwise operators Pliant uses the following ones instead of the
cryptic symbols (~ | & ^) used by C and Python:
.not. .or. .and. .xor.

For the same purpose maybe Python 3 can use:
NOT OR AND XOR
That are easy to remember.

Pliant uses indentations almost as Python, this is an example (I have
added the ! to keep the indentations):

! function factorial x -> f
!   arg Int x f
!   if x=0
!     f := 1
!   else
!     f := x * (factorial x-1)


But with a difference (this is from Pliant online documentation):

>Tabs are not allowed in the source code: you have to use spaces instead. The 
>main reason for not allowing them is that not everybody agrees on the number 
>of spaces each tab stands for, so when a program contains several modules 
>provided by different people, the number could be different in various 
>modules. Tabs could be allowed if the number of spaces they stood for were 
>declared at the beginning of the module, but then the various editors would 
>have to be aware of that ... so it is simpler to use only spaces. Furthermore, 
>most editors provide a 'translate tabs to spaces' function.<

Bye,
bearophile

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to