学位论文详细信息
OOMatch: Pattern Matching as Dispatch in Java
predicate dispatch;dynamic dispatch;pattern matching;multimethods;Java;Computer Science
Richard, Adam
University of Waterloo
关键词: predicate dispatch;    dynamic dispatch;    pattern matching;    multimethods;    Java;    Computer Science;   
Others  :  https://uwspace.uwaterloo.ca/bitstream/10012/3217/1/thesis.pdf
瑞士|英语
来源: UWSPACE Waterloo Institutional Repository
PDF
【 摘 要 】

We present a new language feature, specified as an extension to Java. The feature is a form of dispatch, which includes and subsumes multimethods, but which is not as powerful as general predicate dispatch. It is, however, intended to be more practical and easier to use than the latter. The extension, dubbed OOMatch, allows method parameters to be specified as patterns, which are matched against the arguments to the method call. When matches occur, the method applies; if multiple methods apply, the method with the more specific pattern overrides the others.The pattern matching is very similar to that found in the ;;case;; constructs of many functional languages, with an importantdifference: functional languages normally allow pattern matching over variant types (and other primitives such as tuples), while OOMatch allows pattern matching on Java ob jects. Indeed, the wider goal here is the study of the combination offunctional and ob ject-oriented programming paradigms.Maintaining encapsulation while allowing pattern matching is of special importance. Class designers should have the control needed to prevent implementation details (such as private variables) from being exposed to clients of the class.We here present both an informal ;;tutorial;; description of OOMatch, as well as a formal specification of the language, and a proof that the conditions specified guarantee run-time safety.

【 预 览 】
附件列表
Files Size Format View
OOMatch: Pattern Matching as Dispatch in Java 413KB PDF download
  文献评价指标  
  下载次数:16次 浏览次数:67次