Open Access System for Information Sharing

Login Library

 

Thesis
Cited 0 time in webofscience Cited 0 time in scopus
Metadata Downloads
Full metadata record
Files in This Item:
There are no files associated with this item.
DC FieldValueLanguage
dc.contributor.author임현승en_US
dc.date.accessioned2014-12-01T11:48:17Z-
dc.date.available2014-12-01T11:48:17Z-
dc.date.issued2012en_US
dc.identifier.otherOAK-2014-01142en_US
dc.identifier.urihttp://postech.dcollection.net/jsp/common/DcLoOrgPer.jsp?sItemId=000001388672en_US
dc.identifier.urihttps://oasis.postech.ac.kr/handle/2014.oak/1644-
dc.descriptionDoctoren_US
dc.description.abstractA modern programming language usually provides its own module system to facilitate the development and maintenance of large-scale software. The ML module system, among others, provides powerful support for modular programming and data abstraction using nested modules, higher-order functors, and abstract types. However, it does not traditionally support recursive modules, and due to the lack of recursive modules, ML programmers often have to consolidate conceptually separate mutually recursive definitions into a single module, thus compromising modular programming. In response, several authors have recently proposed recursive module extensions to ML, some of which are successfully implemented in Moscow ML and OCaml. However, previous proposals still do not allow some important patterns of recursive modules.To reach its full power, a type system for recursive modules should address at least two technical challenges. First it needs to solve the double vision problem, which refers to an inconsistency between external and internal views of recursive modules. Second it needs to overcome the tension between practical decidability and expressivity which arises from the potential presence of cyclic type definitions caused by recursion between modules. Although type systems in previous proposals solve the double vision problem and are also decidable, they fail to typecheck common patterns of recursive modules, such as functor fixpoints, that are essential to the expressivity of the module system and the modular development of recursive modules.In this thesis, we develop a novel type system for recursive modules that solves the double vision problem and typechecks common patterns of recursive modules including functor fixpoints. First we design a type system with a type equivalence relation based on weak bisimilarity, which does not lend itself to practical implementation in general, but accommodates a broad range of cyclic type definitions. Then we identify a practically implementable fragment of the type system using a type equivalence relation based on type normalization, which is expressive enough to typecheck typical uses of recursive modules. Our approach is purely syntactic and the definition of the type system is ready for use in an actual implementation.en_US
dc.languageengen_US
dc.publisher포항공과대학교en_US
dc.rightsBY_NC_NDen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/2.0/kren_US
dc.titleA Syntactic Type System for Recursive Modulesen_US
dc.typeThesisen_US
dc.contributor.college일반대학원 전자컴퓨터공학부en_US
dc.date.degree2012- 8en_US
dc.type.docTypeThesis-

qr_code

  • mendeley

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Views & Downloads

Browse