htdp
htdp copied to clipboard
COMPLETE! My solutions to exercises in htdp-2ed (most of them)
#+TITLE: How to Design Programs, 2ed #+AUTHOR: Ada
- 1-7 Fixed-Size Data
-
- Arithmetic ::
-
- Functions and Programs :: [[./1-7 Fixed-Size Data/2-functions and programs.rkt]]
-
- How to Design Programs :: [[./1-7 Fixed-Size Data/3-how to design programs.rkt]] [[./1-7 Fixed-Size Data/3-39-41.rkt][39-41]] [[./1-7 Fixed-Size Data/3-43.rkt][43]] [[./1-7 Fixed-Size Data/3-44.rkt][44]] [[./1-7 Fixed-Size Data/3-47.rkt][47]]
-
- Intervals, Enumerations, Itemizations :: [[./1-7 Fixed-Size Data/4-51.rkt][51]] [[./1-7 Fixed-Size Data/4-53-57.rkt][53-57]] [[./1-7 Fixed-Size Data/4-59.rkt][59]] [[./1-7 Fixed-Size Data/4-59.rkt][62]]
-
- Adding Structure :: [[./1-7 Fixed-Size Data/5-74.rkt][74]] [[./1-7 Fixed-Size Data/5-81.rkt][81]] [[./1-7 Fixed-Size Data/5-82.rkt][82]] [[./1-7 Fixed-Size Data/5-chameleon.rkt][chameleon]] [[./1-7 Fixed-Size Data/5-graphical editor.rkt][graphical editor]] [[./1-7 Fixed-Size Data/5-graphical editor 2.rkt][graphical editor 2]]
-
- Itemizations and Structures :: [[./1-7 Fixed-Size Data/6-107.rkt][107]] [[./1-7 Fixed-Size Data/6-107-2.rkt][107-2]] [[./1-7 Fixed-Size Data/6-108.rkt][108]] [[./1-7 Fixed-Size Data/6-109.rkt][109]] [[./1-7 Fixed-Size Data/6-space invader game.rkt][space invader game]] [[./1-7 Fixed-Size Data/6-space invader game 2.rkt][space invader game 2]]
-
- Summary ::
- 8-13 Arbitrarily Large Data
-
- Lists ::
-
- Designing with Self-referential Data Definition :: [[./8-13 Arbitrarily Large Data/9-137-138.rkt][137-138]] [[./8-13 Arbitrarily Large Data/9-140.rkt][140]] [[./8-13 Arbitrarily Large Data/9-141.rkt][141]] [[./8-13 Arbitrarily Large Data/9-142.rkt][142]] [[./8-13 Arbitrarily Large Data/9-145-146.rkt][145, 146]] [[./8-13 Arbitrarily Large Data/9-147.rkt][147]] [[./8-13 Arbitrarily Large Data/9-150-151.rkt][150, 151]] [[./8-13 Arbitrarily Large Data/9-152-153.rkt][152, 153]] [[./8-13 Arbitrarily Large Data/9-154.rkt][154]] [[./8-13 Arbitrarily Large Data/9-158.rkt][158]] [[./8-13 Arbitrarily Large Data/9-159.rkt][159]] [[./8-13 Arbitrarily Large Data/9-160.rkt][160]]
-
- More on Lists :: [[./8-13 Arbitrarily Large Data/10-163-165.rkt][163, 164, 165]] [[./8-13 Arbitrarily Large Data/10-166.rkt][166]] [[./8-13 Arbitrarily Large Data/10-167-168-169.rkt][167, 168, 169]] [[./8-13 Arbitrarily Large Data/10-170.rkt][170]] [[./8-13 Arbitrarily Large Data/10-172.rkt][172]] [[./8-13 Arbitrarily Large Data/10-173.rkt][173]] [[./8-13 Arbitrarily Large Data/10-174.rkt][174]] [[./8-13 Arbitrarily Large Data/10-175.rkt][175]] [[./8-13 Arbitrarily Large Data/10-176.rkt][176]] [[./8-13 Arbitrarily Large Data/10-179.rkt][179]]
-
- Design by Composition :: [[./8-13 Arbitrarily Large Data/11-181-184.rkt][181, 182, 183, 184]] [[./8-13 Arbitrarily Large Data/11-186.rkt][186]] [[./8-13 Arbitrarily Large Data/11-187.rkt][187]] [[./8-13 Arbitrarily Large Data/11-188.rkt][188]] [[./8-13 Arbitrarily Large Data/11-189.rkt][189]] [[./8-13 Arbitrarily Large Data/11-190.rkt][190]] [[./8-13 Arbitrarily Large Data/11-193.rkt][193]] [[./8-13 Arbitrarily Large Data/11-194.rkt][194]]
-
- Projects: Lists :: [[./8-13 Arbitrarily Large Data/12-195-198.rkt][195, 196, 197, 198]] [[./8-13 Arbitrarily Large Data/12-199-204.rkt][199, 200, 201, 202, 203, 204]] [[./8-13 Arbitrarily Large Data/12-205-208.rkt][205, 206, 207, 208]] [[./8-13 Arbitrarily Large Data/12-209-211.rkt][209, 210, 211]] [[./8-13 Arbitrarily Large Data/12-212-214.rkt][212, 213, 214]] [[./8-13 Arbitrarily Large Data/12-215-219.rkt][215, 216, 217, 218, 219]] [[./8-13 Arbitrarily Large Data/12-220-223.rkt][220, 221, 222, 223]] [[./8-13 Arbitrarily Large Data/12-226.228.rkt][226, 228]]
- 14-18 Abstraction
-
- Similarities Everywhere :: [[./14-18 Abstraction/14-235-236.rkt][235, 236]] [[./14-18 Abstraction/14-238.rkt][238]] [[./14-18 Abstraction/14-245.rkt][245]]
-
- Designing Abstractions :: [[./14-18 Abstraction/15-250-252.rkt][250, 251, 252]]
-
- Using Abstractions :: [[./14-18 Abstraction/16-257-258.rkt][257, 258]] [[./14-18 Abstraction/16-267-269.rkt][267, 268, 269]] [[./14-18 Abstraction/16-270-271.rkt][270, 271]] [[./14-18 Abstraction/16-272-274.rkt][272, 273, 274]]
-
- Nameless Functions :: [[./14-18 Abstraction/17-285-291.rkt][285, 286, 287, 288, 289, 290, 291]] [[./14-18 Abstraction/17-292-295.rkt][292, 293, 294, 295]] [[./14-18 Abstraction/17-299.rkt][299]]
- Intermezzo :: [[./14-18 Abstraction/for-loop.rkt][305, 306, 307]] [[./14-18 Abstraction/pattern.rkt][308, 309]]
- 19-24 Intertwined Data
-
- The Poetry of S-expressions :: [[./19-24 Intertwined Data/310-315.rkt][310, 311, 312, 313, 314, 315]] [[./19-24 Intertwined Data/316-321.rkt][316, 317, 318, 319, 320, 321]] [[./19-24 Intertwined Data/322-327.rkt][322, 323, 324, 325, 326, 327]]
-
- Incremental Refinement :: [[./19-24 Intertwined Data/330-336.rkt][330, 331, 332, 333, 334, 335, 336]] [[./19-24 Intertwined Data/338-344.rkt][338, 339, 340, 341, 342, 343, 344]]
-
- Refining Interpreters :: [[./19-24 Intertwined Data/345-355.rkt][345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355]] [[./19-24 Intertwined Data/356-359.rkt][356, 357, 358, 359]] [[./19-24 Intertwined Data/360-362.rkt][360, 361, 362]]
-
- The Commerce of XML :: [[./19-24 Intertwined Data/363-369.rkt][363, 364, 365, 366, 369]] [[./19-24 Intertwined Data/370-377.rkt][370, 371, 372, 376, 377]] [[./19-24 Intertwined Data/378-383.rkt][378, 379, 380, 381, 382, 383]] [[./19-24 Intertwined Data/384-386.rkt][384, 386]]
-
- Simultaneous Processing :: [[./19-24 Intertwined Data/387-389.rkt][387, 388, 389]] [[./19-24 Intertwined Data/393-395.rkt][393, 394, 395]] [[./19-24 Intertwined Data/396.rkt][396]] [[./19-24 Intertwined Data/397-401.rkt][397, 398, 399, 400, 401]] [[./19-24 Intertwined Data/403-409.rkt][403, 404, 405, 406, 407, 408, 409]] [[./19-24 Intertwined Data/410-411.rkt][410, 411]] [[./19-24 Intertwined Data/412.rkt][412]]
- 25-30 Generative Recursion
-
- Non-standard Recursion :: [[./25-30 Generative Recursion/422-423.rkt][422, 423]] [[./25-30 Generative Recursion/426-430.rkt][426, 430]]
-
- Designing Algorithms :: [[./25-30 Generative Recursion/432-442.rkt][432, 433, 434, 436, 437, 442 ]]
-
- Variations on the Theme :: [[./25-30 Generative Recursion/445-451.rkt][445, 446-449, 450, 451]] [[./25-30 Generative Recursion/453-454.rkt][453, 454]]
-
- Algorithms that Backtrack :: [[./25-30 Generative Recursion/471-473.rkt][471, 472, 473]] [[./25-30 Generative Recursion/479-482.rkt][479, 480, 481, 482]]
- 31-34 Accumulators
-
- The Loss of Knowledge :: [[./31-34 Accumulators/490-493.rkt][490, 493]]
-
- Designing Accumulator-style Functions :: [[./31-34 Accumulators/499.rkt][499]] [[./31-34 Accumulators/500-503.rkt][500, 501, 502, 503]] [[./31-34 Accumulators/504-508.rkt][504, 505, 506, 507, 508]] [[./31-34 Accumulators/509-510.rkt][509, 510]] [[./31-34 Accumulators/511.rkt][511]]
-
- More Uses of Accumulations :: [[./31-34 Accumulators/513-518.rkt][513, 515, 516, 518]] [[./31-34 Accumulators/514-517.rkt][514, 517]] [[./31-34 Accumulators/522.rkt][522]] [[./31-34 Accumulators/523-525.rkt][523-525]] [[./31-34 Accumulators/526-527.rkt][526-527]] [[./31-34 Accumulators/528.rkt][528]] [[./31-34 Accumulators/529.rkt][529]]