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...
Main Authors: | , |
---|---|
Other Authors: | |
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 |