Computing: DOS, OS/2 & Windows Programming

Exotic programming languages for DOS.

My website as an inspiration for playing with good old DOS, somewhat wrote in my guestbook. For those who are searching for programming related inspiration on DOS, this section might be the right place. I'll publish here tutorials concerning programming languages for DOS, that you more than probably never have heard of. The right place to learn something new, something different, something "exotic". These pages should also be considered as my way to honor the computer enthusiasts of the beginning of the PC area, who spent hundreds of hours to develop their own programming language, to write their own compiler or interpreter, mostly freely available to everyone, what wasn't the case for most official development software that time.

Caml Light and OCaml.

"ML (Meta Language) is a general-purpose, high-level, functional programming language. It is known for its use of the polymorphic Hindley–Milner type system, which automatically assigns the data types of most expressions without requiring explicit type annotations (type inference), and ensures type safety; there is a formal proof that a well-typed ML program does not cause runtime type errors." For further details, cf. the ML (programming language) article in Wikipedia.

"Caml (Categorical Abstract Machine Language is a multi-paradigm, general-purpose, high-level, functional programming language which is a dialect of the ML programming language family. Caml was developed in France at French Institute for Research in Computer Science and Automation (INRIA) and École normale supérieure (Paris) (ENS). Caml is statically typed, strictly evaluated, and uses automatic memory management. Caml Light is the successor of the original Caml implementation of 1987. OCaml, the main descendant of Caml, adds many features to the language, including an object-oriented programming layer." For further details, cf. the Caml and OCaml articles in Wikipedia.

Perhaps you do not agree to call these programming languages "exotic". In fact, OCaml has an excellent reputation for creating high-performance compilers and static analyzers. It could be a good choice for other tasks, too, but lots of people working in the IT domain, don't know about it. Furthermore, the development of Caml Light has been abandoned, and I guess that very few people know that there is an OCaml version for DOS (and it's about DOS that we are talking here).

My tutorial Exotic programming languages for DOS: Caml Light and OCaml shows how to install and run Caml Light for DOS 0.7 and the DOS port of OCaml 1.00, that we owe to a caml.inria.fr user contribution, on FreeDOS 1.3 RC5. It should apply to MS-DOS 6.22 and other DOS platforms, too.

MoonRock.

MoonRock is a BASIC-like language with several extensions. It produces small and tight executables (MS-DOS). 8086, 80186+ or 80386+ code, with support for DOS real mode and DPMI protected mode.

"MoonRock was begun as a pet project in late 1994, as I did not like the size of the executables that Microsoft’s DOS BASIC compilers, such as QuickBASIC, spat out. Due to the way that the libraries are organized, a lot of dead code (that is never used) is included in your executable at link time. Initial versions of MoonRock were very primitive, and limited. Dynamic (variable length) strings were non existent. There were few optimizations. A86 (a shareware assembler) was the only assembler supported. Later versions had better optimization, and some speed sacrifices to reduce size. The memory manager was sufficient, but slowed down considerably when trying to handle more than a couple of hundred objects. The current version of MoonRock has dynamic strings with a much improved memory manager, written from scratch. The output is in "generic MASM" format, and should be able to be assembled by any compatible assembler, such as A86, TASM, ArrowSoft assembler (which is supplied with MoonRock), and of course MASM.", you can read on the author's website.

My tutorial Exotic programming languages for DOS: MoonRock shows how to install and run MoonRock 0.50 on FreeDOS 1.3 RC5. It should apply to MS-DOS 6.22 and other DOS platforms, too.

Profan.

There are very few websites about Profan; the language isn't even mentioned in the "List of programming languages" of the English Wikipedia. A (rather short) article can, however, be found in the German Wikipedia.

The origins of Profan go back to 1990, where Roland G. Hülsmann published the first version of the language. Profan was continued as Profan2, and up from version 8, as XProfan (extended Profan). On their website, they call it a simple and powerful programming language for Windows 95 up to Windows 11. Some kind of mixture of BASIC and Pascal, it is mostly intended to give programming beginners a simple mean to create Windows GUI applications. The language includes several commands and functions that allow to realize rather complex or specialized tasks with some lines of code. Thus, even in the early versions, Profan supports lists, INI files, and the manipulation of dBASE tables.

Besides the new versions of XProfan, there is still a version for Windows 3.x available. And there are console versions for DOS, OS/2 and Linux. My tutorial Exotic programming languages for DOS: Profan shows how to install Profan 7 for DOS on FreeDOS 1.3 RC5. It probably applies to other DOS platforms, too.

XPL0.

"XPL0 is essentially a cross between Pascal and C. It looks somewhat like Pascal but works more like C. It was originally created in 1976 by Peter J. R. Boyle, who designed it to run on a 6502 microprocessor as an alternative to BASIC. Although XPL0 stands for eXperimental Programming Language level Zero, it's well beyond the experimental stage and, hopefully, is regarded as well beyond level zero. The name is kept for historical reasons. The language is based on PL/0, Niklaus Wirth's example compiler in his book 'Algorithms + Data Structures = Programs'. Over the years, versions of XPL0 have been ported to many different computers. The programs provided on this site are mostly for IBM-compatible PCs. They all run under DOS, and DOSBox for modern Windows computers."

The paragraph above is how they describe XPL0 on xpl0.org. My tutorial Exotic programming languages for DOS: XPL0 shows how to install and run XPL0 3.1 on MS-DOS 6.22. It should also apply to other DOS distributions.


If you find this text helpful, please, support me and this website by signing my guestbook.