学位论文详细信息
Simulated Overloading using Generic Functions in Scheme
Computer Science;inference;algorithm
Cox, Anthony
University of Waterloo
关键词: Computer Science;    inference;    algorithm;   
Others  :  https://uwspace.uwaterloo.ca/bitstream/10012/1015/1/acox1997.pdf
瑞士|英语
来源: UWSPACE Waterloo Institutional Repository
PDF
【 摘 要 】

This thesis investigates extending the dynamically-typed, functional programming language Scheme, with simulated overloading in order to permit the binding of multiple, distributed defnitions to function names. Overloading facilitates the use of an incremental style of programming in which functions can be defined with a base behaviour and then extended with additional behaviour as it becomes necessary to support new data types. A technique is demonstrated that allows existing functions to be extended, without modifcation, therefore improving code reuse. Using the primitives provided by Scheme, it is possible to write functions that perform like the generic routines (functions) of the programming language EL1. These functions use the type of their arguments to determine, at run-time, the computation to perform. It is shown that by gathering the definitions for an overloaded function and building a generic routine, the language appears to provide overloading. A language extension that adds the syntax necessary to instruct the system to gather the distributed set of definitions for an overloaded function and incrementally build an equivalently applicable generic function is described. A simple type inference algorithm, necessary to support the construction of generic functions, is presented and detailed. Type inference is required to determine the domain of an overloaded function in order to generate the code needed to perform run-time overload resolution. Some limitations and possible extensions of the algorithm are discussed.

【 预 览 】
附件列表
Files Size Format View
Simulated Overloading using Generic Functions in Scheme 418KB PDF download
  文献评价指标  
  下载次数:17次 浏览次数:34次