Category:Cowgol

From Rosetta Code
Language
Cowgol
This programming language may be used to instruct a computer to perform a task.
Execution method: Compiled (machine code)
Garbage collected: No
Parameter passing methods: By value
Type safety: Safe
Type strength: Strong
Type compatibility: Structural
Type expression: Explicit
Type checking: Static
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using Cowgol.
Cowgol is an implementation of Cowgol. Other implementations of Cowgol.

Cowgol is a procedural, imperative, stackless programming language with Ada-style syntax, meant for use on very small systems such as 8-bit micros. Cowgol is also the name of the premier (and so far only) implementation, which is itself written in Cowgol and self-hosting, and which is small enough to run on several 8-bit micros. Cowgol was developed by David Given.

Because most of the processors Cowgol targets do not support stack frames efficiently, Cowgol was designed not to use them. Instead, every variable in the program is statically assigned a single location in memory. (The official implementation overlaps variables it can prove aren't in scope at the same time.) Recursion is forbidden.

Aside from this, Cowgol has most of the features one would expect of a modern-ish procedural language. Cowgol has strict type checking, type aliases, records with inheritance, and arbitarily nested subroutines. Cowgol also has system programming features such as pointers and inline assembly, and it allows the programmer to explicitly define the layout in memory of a record.

Cowgol currently supports MS-DOS (on the 8086), CP/M (on the 8080 and Z80), the BBC Micro (6502), as well as others; modern Linux (x86 or PowerPC) is also supported. The Cowgol compiler is written to make it easy to add other back-ends.

Pages in category "Cowgol"

The following 164 pages are in this category, out of 164 total.