.. _ReductionStrategies:
.. raw:: html
.. |--| unicode:: U+2013 .. en dash
.. |---| unicode:: U+2014 .. em dash, trimming surrounding whitespace
:trim:
.. This file is part of the OpenDSA eTextbook project. See
.. http://algoviz.org/OpenDSA for more details.
.. Copyright (c) 2012-13 by the OpenDSA Project Contributors, and
.. distributed under an MIT open source license.
.. avmetadata::
:author: David Furcy and Tom Naps
Reduction Strategies
====================
Applicative Order
-----------------
Text forthcoming
Normal Order
------------
Text forthcoming
RP 17 Part 1
------------
This problem focuses on the first step (i.e., :math:`\beta`-reduction)
in the evaluation of a :math:`\lambda`-expression with the two
evaluation strategies that we discussed. To get credit for this
randomized exercise, you must solve it correctly three times in a row.
.. avembed:: Exercises/PL/RP17part1.html ka
:module: ReductionStrategies
:long_name: RP set #17, question #1
:points: 1.0
:required: True
:threshold: 3.0
:exer_opts: JXOP-debug=true&JOP-lang=en
RP 17 Part 2
------------
In this problem, you have to study the complete evaluation of a
:math:`\lambda`-expression with the two evaluation strategies that we
discussed. To get credit for this randomized exercise, you must solve
it correctly three times in a row.
.. avembed:: Exercises/PL/RP17part2.html ka
:module: ReductionStrategies
:long_name: RP set #17, question #2
:points: 1.0
:required: True
:threshold: 3.0
:exer_opts: JXOP-debug=true&JOP-lang=en
RP 17 Part 3
------------
In this problem, you have to perform a full evaluation of a randomly
selected :math:`\lambda` expression, that is, perform as many
:math:`\beta`-reductions as it takes until a :math:`\beta`-normal form
is reached. For this problem, you must use the *applicative-order*
reduction strategy. To get credit for this problem, you only need to
solve one problem instance correctly. However, each problem
instance contains several steps that you must perform correctly (in
this case, each step is a :math:`\beta`-reduction). Read and follow
the directions carefully. Note that the correct answer (called the
*model answer*) is available. However, if you look it up, you will not
get credit for the current problem instance. To get another chance for
credit, start a new problem instance by clicking the *Reset* button.
.. avembed:: AV/PL/RP17part3applicativeOrderPRO.html pe
:module: ReductionStrategies
:long_name: Applicative-order reduction Proficiency Exercise
:points: 1.0
:required: True
:threshold: 0.9
:exer_opts: JOP-lang=en&strategy=applicative&JXOP-debug=true
RP 17 Part 4
------------
In this problem, you have to perform a full evaluation of a randomly
selected :math:`\lambda` expression, that is, perform as many
:math:`\beta`-reductions as it takes until a :math:`\beta`-normal form
is reached. For this problem, you must use the **normal-order**
reduction strategy. To get credit for this problem, you only need to
solve one problem instance correctly. However, each problem instance contains
several steps that you must perform correctly (in this case, each step
is a :math:`\beta`-reduction). Read and follow the directions
carefully. Note that the correct answer (called the *model answer*) is
available. However, if you look it up, you will not get credit for the
current problem instance. To get another chance for credit, start a
new problem instance by clicking the *Reset* button.
.. avembed:: AV/PL/RP17part4normalOrderPRO.html pe
:module: ReductionStrategies
:long_name: Normal-order reduction Proficiency Exercise
:points: 1.0
:required: True
:threshold: 0.9
:exer_opts: JOP-lang=en&strategy=normal&JXOP-debug=true