Commit Graph

82 Commits

Author SHA1 Message Date
Oliver Payne 551abf50b0 Remove tracing 2022-05-13 11:19:24 +01:00
Oliver Payne 791c601d29 Add insert! for 3.25
Could do with some tidying up but seems to work OK.
2022-05-12 22:57:59 +01:00
Oliver Payne 2f2e704cf6 First cut of 3.25
For now only lookup takes a list of indices.  Insert! is hardcoded to
two indices.
2022-05-10 22:58:15 +01:00
Oliver Payne d1ffdff403 Add exercise 3.24 2022-05-10 17:48:42 +01:00
Oliver Payne 5287954c87 Add unit tests 2022-05-10 17:15:26 +01:00
Oliver Payne 5ca5d2af0f White-space changes 2022-05-10 17:14:44 +01:00
Oliver Payne 9c9a39d56f Fix the case of deleting a single element 2022-05-09 22:14:15 +01:00
Oliver Payne 618633cb8d Add deque->list 2022-05-09 22:13:53 +01:00
Oliver Payne 18eb3e12d9 Deley evaluation of the rear pointer to make printing cleaner 2022-05-09 22:13:08 +01:00
Oliver Payne f2834aa159 Rework data structures to include prev pointer in each node 2022-05-09 14:40:54 +01:00
Oliver Payne e7b7e9154a First cut at 3.23
This is not quite right.  Back pointers need reworking.
2022-05-06 17:01:59 +01:00
Oliver Payne 4604ebfa79 Complete 3.22 2022-05-06 17:01:36 +01:00
Oliver Payne d32b389c03 Complete 3.21 2022-05-06 17:00:58 +01:00
Oliver Payne c1988959e3 Complete exercise 3.18 2022-05-03 22:18:22 +01:00
Oliver Payne 275fb36bd7 Replace custom adjoin with cons
Duplicates in the seen list don't matter
2022-05-03 18:58:21 +01:00
Oliver Payne 8cbd5f4788 Replace seen? with built-in memq 2022-05-03 18:55:12 +01:00
Oliver Payne dd65a0e316 Complete 3.16 and 3.17 2022-04-29 23:09:15 +01:00
Oliver Payne 91d3bafd2c Add exercise 3.8 2022-04-22 14:44:15 +01:00
Oliver Payne 3d8bad6a34 Complete exercise 3.7 2022-04-21 23:02:01 +01:00
Oliver Payne ab4554fcd8 Complete exercise 3.6 2022-04-21 21:18:22 +01:00
Oliver Payne 079ee8d08e Add exercise 3.5 2022-04-20 23:00:54 +01:00
Oliver Payne cc914f21a4 Add solution to exercise 3.4 2022-04-20 22:03:51 +01:00
Oliver Payne 6c31c289fa Add exercises 3.1 - 3.3 2022-04-18 23:00:16 +01:00
Oliver Payne fbf1b45642 Rename 2_78.rkt to generics.rkt
This file covers exercises 2.78 to 2.97
2022-04-18 22:22:16 +01:00
Oliver Payne 83104b379c Completed exercise 2.97 2022-04-17 23:07:53 +01:00
Oliver Payne 4c1ec4dbc3 Remove tracing 2022-04-17 21:42:43 +01:00
Oliver Payne 102d945c86 Implement pseudo-remainder for exercise 2.96 2022-04-15 22:53:28 +01:00
Oliver Payne 6c40d82224 Add generic gcd operator and tests for exercise 2.95 2022-04-15 22:20:02 +01:00
Oliver Payne de39768f9d Make rational operators generic 2022-04-15 14:53:05 +01:00
Oliver Payne 70068faf4d Stop fractions being reduced to their lowest terms 2022-04-15 14:45:59 +01:00
Oliver Payne d03714f749 Add polynomial division (exercise 2.91) 2022-04-15 14:37:12 +01:00
Oliver Payne 0b608a1bf9 Add negation for dense termlists 2022-04-09 19:45:59 +01:00
Oliver Payne a2e997a5eb Add dense termlist representation 2022-04-06 22:42:46 +01:00
Oliver Payne b652e0d3d0 Remove redudant workaround in apply-generic 2022-04-03 21:58:09 +01:00
Oliver Payne 3ec8012338 Get sparse polynomials working (plus a tidy up) 2022-04-03 21:51:52 +01:00
Oliver Payne 90a8f06e3c Correct tagging for termlist operations 2022-04-01 22:11:24 +01:00
Oliver Payne 05c804bb79 Remove display debugging and use racket/trace instead 2022-03-27 22:11:47 +01:00
Oliver Payne 8c12ac0e4c Fix adjoin-term
The term passed in loses its tag on each call to apply-generic, so the
term must be re-constructed.
2022-03-27 22:02:51 +01:00
Oliver Payne f598b2c3f1 Move termlist procedures to separate package 2022-03-27 20:40:07 +01:00
Oliver Payne 2b22b84540 Basic structure for generic termlists and terms
Need to check that polynomials behave as expected and also need to add
dense termlists.
2022-03-25 20:59:13 +00:00
Oliver Payne 327bac9c7d Add implementation of dense representation of polynomials (2.90) 2022-03-15 20:32:32 +00:00
Oliver Payne 27bb0bc3ee Add negation of polynomials 2022-03-12 20:51:45 +00:00
Oliver Payne 502e84bd63 Fix tagging to work correctly with integers and scheme-numbers 2022-03-12 20:21:23 +00:00
Oliver Payne 86b044fd13 Fix transform-type and make next-type an internal procedure 2022-03-12 20:20:29 +00:00
Oliver Payne 75d6bb8e05 Move project and raise from apply-generic to the coercion table 2022-03-12 16:23:22 +00:00
Oliver Payne 4968558e49 Use implicit tag for scheme-number or integer 2022-03-11 20:04:29 +00:00
Oliver Payne 5f4499fdb1 Revert "Remove explicit tags for scheme-number"
This reverts commit e551568002.
2022-03-10 22:43:45 +00:00
Oliver Payne d1dc5c94a9 Replace reals with scheme-numbers 2022-03-10 22:37:37 +00:00
Oliver Payne f3bcbcfbf8 Get negate working for numbers (includes lots of debugging) 2022-03-10 22:37:37 +00:00
Oliver Payne c4d4df12a2 Add =zero? for polynomials 2022-03-10 22:37:37 +00:00