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- ^ 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
editCitations
edit- ^ Cohen, Jacques (September 1993). "Concurrent object-oriented programming". Communications of the ACM. 36 (9): 35–36. doi:10.1145/162685.214809. ISSN 0001-0782.
- ^ Joseph et al. 1988, pp. 78–101.
- ^ Schaffert et al. 1986, pp. 9–16.
- ^ Schaffert et al. 1986, p. 10.
- ^ Schaffert et al. 1986, p. 11.
- ^ Schaffert et al. 1986, p. 14.
Bibliography
edit- Schaffert, Craig; Cooper, Topher; Bullis, Bruce; Kilian, Mike; Wilpolt, Carrie (1986). "An introduction to Trellis/Owl". Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '86. pp. 9–16. doi:10.1145/28697.28699. ISBN 0897912047. S2CID 9565256.
- Joseph, John; Thatte, Satish; Thompson, Craig; Wells, David (26 September 1988). "Report on the Object-Oriented Database Workshop" (PDF). SIGMOD Record. 18 (3): 78–101. doi:10.1145/71031.71041.
- O'Brien, Patrick D.; Halbert, Daniel C.; Kilian, Michael F. (December 1987). "The Trellis programming environment". Conference proceedings on Object-oriented programming systems, languages and applications. ACM. pp. 91–102. doi:10.1145/38765.38815. ISBN 978-0-89791-247-1. S2CID 16084550.
- Law, Rob (March 1997). "An overview of debugging tools". ACM SIGSOFT Software Engineering Notes. 22 (2): 43–47. doi:10.1145/251880.251926. ISSN 0163-5948. S2CID 17506126.