Trellis/Owl, or simply Owl, [a] is a defunct object-oriented [2] programming language created by Digital Equipment Corporation. [3] It was part of a programming environment, Trellis. It ran on the OpenVMS operating system.
Trellis/Owl differed from contemporary languages in several ways. For one, it did not use
dot notation for
method calls on objects, and used a traditional functional style instead, which they referred to as operations. Operations were supported by the concept of a controlling object, the first parameter in the
function call, which indicated which class was being referred to. Whereas most OO languages of the era might have a myStringVariableToPrint.print()
method, in Trellis/Owl this would be print(myStringVariableToPrint)
, and the print method of the class String would be called based on a string being the first parameter.
[4] Trellis/Owl also supported
properties, which they referred to as components.
[5] Trellis/Owl also included a system allowing the easy creation of
iterators, using the yields
keyword to replace returns
in the definition of an operation. yields
indicates the operator will return a series of values instead of one.
[6]
Trellis/Owl, or simply Owl, [a] is a defunct object-oriented [2] programming language created by Digital Equipment Corporation. [3] It was part of a programming environment, Trellis. It ran on the OpenVMS operating system.
Trellis/Owl differed from contemporary languages in several ways. For one, it did not use
dot notation for
method calls on objects, and used a traditional functional style instead, which they referred to as operations. Operations were supported by the concept of a controlling object, the first parameter in the
function call, which indicated which class was being referred to. Whereas most OO languages of the era might have a myStringVariableToPrint.print()
method, in Trellis/Owl this would be print(myStringVariableToPrint)
, and the print method of the class String would be called based on a string being the first parameter.
[4] Trellis/Owl also supported
properties, which they referred to as components.
[5] Trellis/Owl also included a system allowing the easy creation of
iterators, using the yields
keyword to replace returns
in the definition of an operation. yields
indicates the operator will return a series of values instead of one.
[6]