REPOST (JAN 2024): My first thoughts on #Psion's dialect of Object Oriented C for the Series 3 and related portable computers.

Includes the JPI/Clarion #TopSpeed #compiler, a proprietary preprocessor, the Eiffel programming language, and a handful of calling conventions.

Also, did somebody say Objective-C?

This is an old blog post from the beginning of the year. If you've been following my journey in recreating #CTRAN, this was written a week before I decided to take the plunge.

https://hackaday.io/project/161291-the-last-psion/log/226441-beginning-olib-an-entirely-uneducated-look-at-psions-proprietary-object-oriented-c

(Yes, I did say in the article that I definitely wouldn't be writing a compiler. I did say that.)

#RetroComputing #EPOC16 #CDECL #Clarion #TopSpeed #TopSpeedC #RetroProgramming #RetroDev #Smalltalk #ObjectPascal #preprocessor #Eiffel #OOP #ObjectiveC #compilers #ObjectOriented

Beginning OLIB: An entirely uneducated look at Psion's proprietary Object Oriented C | Details | Hackaday.io

<blockquote><strong>Me: </strong>I could do with a quick win to get me going again.<br><br> <strong>Also me: </strong>I shall learn a proprietary object oriented dialect of C, where the only way to learn it is to plough through 1150 pages of documentation.</blockquote> <p>Psion doesn't have a formal name for the object oriented version of C that it created for EPOC16. I've been calling it "Psion OO C", but the main library that it uses is called <strong>OLIB</strong>, which contains the root class. The others are:</p> <ul><li><strong>HWIM: </strong>The OO graphics library</li><li><strong>FORM: </strong>On-screen formatting </li><li><strong>XADD: </strong>Additional graphics library for 3a onwards (but not the Series 3 "classic")</li></ul> <p>To Psion's credit, their OO ecosystem is well documented in the SIBO C SDK across 5 books (hence the 1150 pages mentioned above). Each of the libraries has its own, dedicated book. There's also an "Object Oriented Programming Guide" which acts as an introduction to the whole ecosystem. I don't have the latest versions of all of these books - they seem to be lost to time. But I have all the 3 and 3a features documented, plus (I think) all of the 3c/Siena extensions. (3mx-era EPOC16 remains sadly undocumented.)</p> <p>What's nice about Psion's approach to OO is that they assume no prior

ICYMI: My first thoughts on #Psion's dialect of Object Oriented C for the Series 3 and related portable computers.

Includes the JPI/Clarion TopSpeed compiler, a proprietary preprocessor, the Eiffel programming language, and a handful of calling conventions.

Also, did somebody say Objective-C?

https://hackaday.io/project/161291-the-last-psion/log/226441-beginning-olib-an-entirely-uneducated-look-at-psions-proprietary-object-oriented-c

#RetroComputing #EPOC16 #CDECL #Clarion #TopSpeed #TopSpeedC #RetroProgramming #RetroDev #Smalltalk #ObjectPascal #preprocessor #Eiffel #OOP #ObjectiveC

Beginning OLIB: An entirely uneducated look at Psion's proprietary Object Oriented C | Details | Hackaday.io

<blockquote><strong>Me: </strong>I could do with a quick win to get me going again.<br><br> <strong>Also me: </strong>I shall learn a proprietary object oriented dialect of C, where the only way to learn it is to plough through 1150 pages of documentation.</blockquote> <p>Psion doesn't have a formal name for the object oriented version of C that it created for EPOC16. I've been calling it "Psion OO C", but the main library that it uses is called <strong>OLIB</strong>, which contains the root class. The others are:</p> <ul><li><strong>HWIM: </strong>The OO graphics library</li><li><strong>FORM: </strong>On-screen formatting </li><li><strong>XADD: </strong>Additional graphics library for 3a onwards (but not the Series 3 "classic")</li></ul> <p>To Psion's credit, their OO ecosystem is well documented in the SIBO C SDK across 5 books (hence the 1150 pages mentioned above). Each of the libraries has its own, dedicated book. There's also an "Object Oriented Programming Guide" which acts as an introduction to the whole ecosystem. I don't have the latest versions of all of these books - they seem to be lost to time. But I have all the 3 and 3a features documented, plus (I think) all of the 3c/Siena extensions. (3mx-era EPOC16 remains sadly undocumented.)</p> <p>What's nice about Psion's approach to OO is that they assume no prior

Today, I'm getting distracted, trying to compile Elvis (an old #Vi spin-off) for #Psion #EPOC16.

Bearing in mind I'm running the original toolchain that this was developed with, this should Just Work™️. However... ERROR.

There are no instructions for compilation, so I don't know if there's a special order I need to do things in.

#RetroComputing #RetroDev #TopSpeedC #Vim