کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
433485 | 1441725 | 2011 | 23 صفحه PDF | دانلود رایگان |
Having been convinced of the potential benefits of partial evaluation, we wanted to apply these techniques to code written in Maple, our Computer Algebra System of choice. Maple is a very large language, with a number of non-standard features. When we tried to implement a partial evaluator for it, we ran into a number of difficulties for which we could find no solution in the literature. Undaunted, we persevered and ultimately implemented a working partial evaluator with which we were able to very successfully conduct our experiments, first on small codes, and now on actual routines taken from Maple’s own library. Here, we document the techniques we had to invent or adapt to achieve these results.
Research highlights
► We present an online partial evaluator for the language of the CAS Maple.
► The evaluator is polyvariant, syntax-directed and works without annotations.
► It allows us to extract efficient specialized code from generic implementations.
► We can also use it to extract fully symbolic algorithms from non-symbolic code.
Journal: Science of Computer Programming - Volume 76, Issue 6, 1 June 2011, Pages 469–491