2011
DOI: 10.1016/j.scico.2010.12.001
|View full text |Cite
|
Sign up to set email alerts
|

Partial evaluation of Maple

Abstract: a b s t r a c tHaving 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 ve… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2011
2011
2022
2022

Publication Types

Select...
5

Relationship

0
5

Authors

Journals

citations
Cited by 8 publications
(8 citation statements)
references
References 23 publications
(28 reference statements)
0
8
0
Order By: Relevance
“…The work focused to collect requirements for the pure type inference engine for existing Maple routines. The work was extended to develop the partial evaluator for Maple mentioned above [6].…”
Section: State Of the Artmentioning
confidence: 99%
“…The work focused to collect requirements for the pure type inference engine for existing Maple routines. The work was extended to develop the partial evaluator for Maple mentioned above [6].…”
Section: State Of the Artmentioning
confidence: 99%
“…LIR: the low-level three-address code instruction representation that Nanojit receives as input. 4. Once the trace engine finds the original branch that started the recording process, the current segment is passed to Nanojit.…”
Section: Tracemonkey In a Nutshellmentioning
confidence: 99%
“…This type of partial evaluation in which the JIT compiler uses runtime values to produce better binaries is sometimes called specialization by need [21]. Implementations that use this kind of technique include Python's Psyco JIT compiler [21], Matlab [7,10] and Maple [4]. Partial evaluation has been used in the context of just-in-time compilation mostly as a form of type specialization [7,5,14].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Run-time specialization accommodates Matlab's dynamic nature, and is a technique that has been applied in many other dynamic optimization contexts. The Psyco python virtual machine, for instance, implements specialization "by need" [19], a process similar to the online partial evaluation approaches applied to Matlab [5] and Maple [20]. This specialization technique involves interleaving program specialization and execution; the specializer can request facts such as the type of variables while a procedure is executing, and depending on the result, potentially modify the compiled code to be more efficient.…”
Section: Related Workmentioning
confidence: 99%