A separate Git repository in BitBucket reserved for the solutions to Programming Exercises in Chapters 10–12, available only to instructors by request, contains the versions of the interpreter in Table D.3:
Table D.3 Solutions to the Camille Interpreter Programming Exercises in Chapters 10–12
Interpreter Description | Version | Directory in Repository |
---|---|---|
named ASR environment interpreter with local binding and conditionals | 1.2(named ASR)/PE 10.1 | 1.x_INTRODUCTION_Chapter10_Conditionals/named-asr-localbinding-conditionals/ |
named LOLR environment interpreter with local binding and conditionals | 1.2(named LOLR)/PE 10.2 | 1.x_INTRODUCTION_Chapter10_Conditionals/named-lolr-localbinding-conditionals/ |
nameless environment interpreter with local binding and conditionals | 1.2(nameless) /PE 10.3–10.5 | 1.x_INTRODUCTION_Chapter10_Conditionals/nameless-localbinding-conditionals/ |
nameless environment interpreter with non-recursive functions | 2.0(nameless) /PE 11.2.9– 11.2.11 | 2.x_INTERMEDIATE_Chapter11_Functions/nameless-pass-by-value-non-recursive/ |
nameless environment interpreter with recursive functions | 2.1(nameless) /PE 11.3.6–11.3.8 | 2.x_INTERMEDIATE_Chapter11_Functions/nameless-pass-by-value-recursive/ |
dynamic scoping for non-recursive functions | 2.0(dynamic scoping) /PE 11.2.12 | 2.x_INTERMEDIATE_Chapter11_Functions/pass-by-value-non-recursive-dynamic-scoping |
dynamic scoping for recursive functions | 2.1(dynamic scoping) /PE 11.3.9 | 2.x_INTERMEDIATE_Chapter11_Functions/pass-by-value-non-recursive-dynamic-scoping |
cells | 3.0(cells) /PE 12.2.3 | 3.0_ADVANCED/cells/ |
arrays | 3.0(arrays) /PE 12.2.4 | 3.0_ADVANCED/arrays/ |
pass-by-value-result parameter passing | 3.0(pass-by-value- result) /PE 12.4.1 | 3.x_ADVANCED_Chapter12_ParameterPassing/pass-by-value-result/ |
Camille with lazy lets | 3.2(lazy let) /PE 12.6.1 | 3.x_ADVANCED_Chapter12_ParameterPassing/lazy-fun-arguments-lets-only/ |
full lazy Camille with lazy primitives and if primitive | 3.2(full lazy) /PE 12.6.2 | 3.x_ADVANCED_Chapter12_ParameterPassing/lazy-full/ |
do while loop | 4.0(do while) /PE 12.7.1 | 4.x_IMPERATIVE_Chapter12_ParameterPassing/dowhile/ |
3.135.196.172