From: Chris
Date: Thu, 12 Feb 2015 03:47:33 +0000 (-0500)
Subject: added some exercises related to CL
X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=14afd28fe72ee04e9accb957cd42686479dc38bb
added some exercises related to CL
---
diff --git a/exercises/assignment3.mdwn b/exercises/assignment3.mdwn
index e2fd9627..21997eeb 100644
--- a/exercises/assignment3.mdwn
+++ b/exercises/assignment3.mdwn
@@ -68,6 +68,25 @@ Using the mapping specified in this week's notes, translate the following lambda
23. For each of the above translations, how many `I`s are there? Give a rule for describing what each `I` corresponds to in the original lambda term.
+Evaluation strategies in Combinatory Logic
+------------------------------------------
+
+23. Find a term in CL that behaves like Omega does in the Lambda
+Calculus. Call it Skomega.
+
+24. Are there evaluation strategies in CL corresponding to leftmost
+reduction and rightmost reduction in the lambda calculus?
+What counts as a redex in CL?
+
+25. Consider the CL term K I Skomega. Does leftmost (alternatively,
+rightmost) evaluation give results similar to the behavior of K I
+Omega in the lambda calculus, or different? What features of the
+lambda calculus and CL determine this answer?
+
+26. What should count as a thunk in CL? What is the equivalent
+constraint in CL to forbidding evaluation inside of a lambda abstract?
+
+
More Lambda Practice
--------------------