A study on modular type extension and generic programming using AspectFun

碩士 === 國立政治大學 === 資訊科學學系 === 98 === AspectFun is an aspect-oriented functional language with a Haskell-like syntax. This thesis present an study on modular type extension and generic programming using AspectFun. First, we compare the feasibility of using aspects and Haskell's type classes to ad...

Full description

Bibliographic Details
Main Authors: Chen, Cheng Hung, 陳政宏
Other Authors: Chen, Kung
Format: Others
Language:zh-TW
Published: 2010
Online Access:http://ndltd.ncl.edu.tw/handle/85032261593068386006
id ndltd-TW-098NCCU5394011
record_format oai_dc
spelling ndltd-TW-098NCCU53940112016-04-27T04:12:16Z http://ndltd.ncl.edu.tw/handle/85032261593068386006 A study on modular type extension and generic programming using AspectFun 以AspectFun探討模組化型態擴充與泛型程式設計 Chen, Cheng Hung 陳政宏 碩士 國立政治大學 資訊科學學系 98 AspectFun is an aspect-oriented functional language with a Haskell-like syntax. This thesis present an study on modular type extension and generic programming using AspectFun. First, we compare the feasibility of using aspects and Haskell's type classes to address the type extension requirements as stated in the famous expression problem (which calls for language mechanisms that can support type-safe program extension in both the dimensions of data types and associated operations, yet neither code duplication nor code rewriting is required.) Second, we investigate how to use aspects to support generic programming in amodular manner. Generic programming means a form of programming in which a function takes a type as argument, and its behavior depends upon the structure of this type. The type argument, which may be explicit or implicit, represents the type of values to which the function is applied, or which the function returns. We show that aspects can do better than type classes in supporting generic programming. In particular, we extend AspectFun with existential types and polymorphic mutual recursion to achieve such a result. Chen, Kung 陳恭 2010 學位論文 ; thesis 44 zh-TW
collection NDLTD
language zh-TW
format Others
sources NDLTD
description 碩士 === 國立政治大學 === 資訊科學學系 === 98 === AspectFun is an aspect-oriented functional language with a Haskell-like syntax. This thesis present an study on modular type extension and generic programming using AspectFun. First, we compare the feasibility of using aspects and Haskell's type classes to address the type extension requirements as stated in the famous expression problem (which calls for language mechanisms that can support type-safe program extension in both the dimensions of data types and associated operations, yet neither code duplication nor code rewriting is required.) Second, we investigate how to use aspects to support generic programming in amodular manner. Generic programming means a form of programming in which a function takes a type as argument, and its behavior depends upon the structure of this type. The type argument, which may be explicit or implicit, represents the type of values to which the function is applied, or which the function returns. We show that aspects can do better than type classes in supporting generic programming. In particular, we extend AspectFun with existential types and polymorphic mutual recursion to achieve such a result.
author2 Chen, Kung
author_facet Chen, Kung
Chen, Cheng Hung
陳政宏
author Chen, Cheng Hung
陳政宏
spellingShingle Chen, Cheng Hung
陳政宏
A study on modular type extension and generic programming using AspectFun
author_sort Chen, Cheng Hung
title A study on modular type extension and generic programming using AspectFun
title_short A study on modular type extension and generic programming using AspectFun
title_full A study on modular type extension and generic programming using AspectFun
title_fullStr A study on modular type extension and generic programming using AspectFun
title_full_unstemmed A study on modular type extension and generic programming using AspectFun
title_sort study on modular type extension and generic programming using aspectfun
publishDate 2010
url http://ndltd.ncl.edu.tw/handle/85032261593068386006
work_keys_str_mv AT chenchenghung astudyonmodulartypeextensionandgenericprogrammingusingaspectfun
AT chénzhènghóng astudyonmodulartypeextensionandgenericprogrammingusingaspectfun
AT chenchenghung yǐaspectfuntàntǎomózǔhuàxíngtàikuòchōngyǔfànxíngchéngshìshèjì
AT chénzhènghóng yǐaspectfuntàntǎomózǔhuàxíngtàikuòchōngyǔfànxíngchéngshìshèjì
AT chenchenghung studyonmodulartypeextensionandgenericprogrammingusingaspectfun
AT chénzhènghóng studyonmodulartypeextensionandgenericprogrammingusingaspectfun
_version_ 1718250318192443392