Newbie questions about Pliant

Newbie questions about Pliant

High level features

Exceptions
Message posted by maybe Ivan Gudym on 2001/11/16 09:40:18
I am newbie in pliant, but not newbie in programming. And now i have some 
difficulties in pliant programming due to lack of some high level 
features. I think now is the time to collect all of such features
and do one of: show how it can be done/emulated in pliant, or, better,
offer ready to use modules, that realize particular feature. Its clear, that
all users wishes may not be compatible with authors vision of language
design and philosophy, but such a modules can be located in some separated
directory in pliant tree, say 'features' or something alike as
options. Developers can say - you need it, so do do it. BUT as i newbie,
i can't do complicated meta programming, i just learn pliant, so why i
can't get features i like in other languages to start programming right 
now ? Maybe later, when i learn meta programming i will realize some 
features, and give it to community, but now i need help.
So i propose to create some sort of repository to hold various features.
One feature record can contain - original problem description, other users
answers, ready to use modules, forum to discuss all about, state 
of realization, list of people who start development, ... something 
else. Somebody will find answer, somebody - problem to solve.

So, second feature to collection (first was C-like union) - Exceptions.
Pliant has error handling, but i need exceptions like in many hign level
languages (CLU, Delphi/Object pascal, C++)
'safe' construction is near, but not all. It should be sort of

1: try
     <body>
   except <exception var>
     <handler>

2: try
     <body>
   finally
     <handler>

3: raise <exception var>

4: type exception
     field <field>

Most important - user defined/rised exceptions and ability to analize
exception sort in handler. Exact syntax is not important but semantics.

Sorry for terrible english ;)

Message posted by pom on 2001/11/16 11:29:40
There has been a quite old discussion about error handling, which has resulted into the scheme explained in the documentation.