Jump to content

Trellis-Owl

From Wikipedia, the free encyclopedia

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]

Notes

[edit]
  1. ^ The editor for a later collection of papers introduces the language stating "The base language is Trellis (originally called Trellis/Owl, hence DOWL where the D stands for Distributed)..."[1] This appears to be a typo or confusion on the part of the author. "DOWL" is short for "distributed Owl", not "distributed Trellis", and all DEC documentation states Trellis is the development environment.

References

[edit]

Citations

[edit]
  1. ^ Cohen, Jacques (September 1993). "Concurrent object-oriented programming". Communications of the ACM. 36 (9): 35–36. doi:10.1145/162685.214809. ISSN 0001-0782.
  2. ^ Joseph et al. 1988, pp. 78–101.
  3. ^ Schaffert et al. 1986, pp. 9–16.
  4. ^ Schaffert et al. 1986, p. 10.
  5. ^ Schaffert et al. 1986, p. 11.
  6. ^ Schaffert et al. 1986, p. 14.

Bibliography

[edit]