Communicating sequential processes
Communicating sequential processes
Building program optimizers with rewriting strategies
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Introduction to Process Algebra
Introduction to Process Algebra
The Use of Explicit Plans to Guide Inductive Proofs
Proceedings of the 9th International Conference on Automated Deduction
Journal of Functional Programming
Journal of Functional Programming
Combinator Parsing: A Short Tutorial
Language Engineering and Rigorous Software Development
Adapting mathematical domain reasoners
AISC'10/MKM'10/Calculemus'10 Proceedings of the 10th ASIC and 9th MKM international conference, and 17th Calculemus conference on Intelligent computer mathematics
A teaching tool for proving equivalences between logical formulae
TICTTL'11 Proceedings of the Third international congress conference on Tools for teaching logic
A programming tutor for haskell
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Hi-index | 0.00 |
Rewrite strategies are used to specify how mathematical exercises are solved in interactive learning environments, and to provide feedback to students solving such exercises. We have developed a generic strategy language with which we can specify rewrite strategies in many (mathematical) domains. Although our strategy language is quite powerful, it lacks an essential component for specifying strategies, namely the interleaving of two strategies. Often students have to perform multiple subtasks, but the order in which these tasks are performed is irrelevant, and steps of solutions may be interleaved. We show the need for combinators that support interleaving by means of several examples. We extend our strategy language with different combinators for interleaving, define the semantics of the extension, and show how the interleaving combinators are implemented in the parsing framework we use for recognizing student behavior and providing hints.