Meta-programming with Maple and C

We show how to use Maple as a source language for meta-programming, with C being the target language, for experimenting with and solving combinatorial problems. We will illustrate this approach with toy problems, as well as with more substantial projects. In the latter case, familiarity with basic concepts from compiler theory may be advantageous to the reader. One advantage of using Maple as a source language for meta-programming for combinatorial problems, lies in the fact that we can use Maple’s symbolic engine to perform complicated manipulations of mathematical objects fast and reliably and therefore produce easily bug-free code in the target language. Another advantage is that we can use Maple’s underlying powerful programming language, including functions, procedures and modules, to create a meta-program that is easy to debug, modify and maintain. The target language can be changed to any other language the user is acquainted and/or at ease with, for example Java, Perl, Python, MPI and so forth. The approach we advocate can be used for both educational and research purposes.

Authors

Institutions

Publication Details

Journal
Maple Transactions
Published
2025-02-23
DOI
https://doi.org/10.5206/mt.v5i1.21835
Citations
1
Primary Topic
Distributed and Parallel Computing Systems
Type
article
Field-Weighted Citation Impact
1.49
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Meta-programming with Maple and C

Ilias Kotsireas
1 citations
Maple Transactions
Distributed and Parallel Computing Systems
1.49
article

Meta-programming with Maple and C

Ilias Kotsireas
article en
1 citations

Abstract

We show how to use Maple as a source language for meta-programming, with C being the target language, for experimenting with and solving combinatorial problems. We will illustrate this approach with toy problems, as well as with more substantial projects. In the latter case, familiarity with basic concepts from compiler theory may be advantageous to the reader. One advantage of using Maple as a source language for meta-programming for combinatorial problems, lies in the fact that we can use Maple’s symbolic engine to perform complicated manipulations of mathematical objects fast and reliably and therefore produce easily bug-free code in the target language. Another advantage is that we can use Maple’s underlying powerful programming language, including functions, procedures and modules, to create a meta-program that is easy to debug, modify and maintain. The target language can be changed to any other language the user is acquainted and/or at ease with, for example Java, Perl, Python, MPI and so forth. The approach we advocate can be used for both educational and research purposes.

Maple TransactionsVol. 5(1)
Wilfrid Laurier University (CA)
Openalex Percentile: Top 20%
Distributed and Parallel Computing Systems
1.49
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Meta-programming with Maple and C — Ilias Kotsireas · Maple Transactions (2025) | TGRS Research Map | TGRS