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 |
Oliver Payne
|
177de641b5
|
Complete up to 2.86
We now have complex numbers with arbitrary number coefficients (ie
integer, rational or real).
|
2022-03-10 22:37:37 +00:00 |
Oliver Payne
|
d391dded38
|
Add drop call into apply-generic
This is a little bit messy in that apply-generic changes behaviour
depending on the operation.
|
2022-03-10 22:37:37 +00:00 |
Oliver Payne
|
ed1702ee13
|
Add project and drop procedures
Not yet integrated into apply-generic.
|
2022-03-10 22:37:37 +00:00 |
Oliver Payne
|
052bcfc318
|
Add real and integer
|
2022-03-10 22:37:16 +00:00 |
Oliver Payne
|
e551568002
|
Remove explicit tags for scheme-number
|
2022-03-10 22:35:33 +00:00 |
Oliver Payne
|
13368fba13
|
Change let to let* in apply-generic
Not strictly necessary, but a bit neater maybe.
|
2022-02-24 20:40:03 +00:00 |
Oliver Payne
|
7f46244600
|
Completed up to 2.84
|
2022-02-18 20:41:52 +00:00 |
Oliver Payne
|
285b2a3f9d
|
Add raise (2.83)
|
2022-02-13 20:10:54 +00:00 |
Oliver Payne
|
7147075c21
|
Generalised to coercion to any of the argumements (ending 2.82)
|
2022-02-13 17:54:57 +00:00 |
Oliver Payne
|
74050eeb6c
|
Merge branch '2.82-attempt-1'
|
2022-02-13 16:24:57 +00:00 |
Oliver Payne
|
a922aad66d
|
Add coercion of scheme-number->rational
|
2022-02-13 15:45:40 +00:00 |
Oliver Payne
|
38dc50f4b2
|
Fix application of apply-generic
|
2022-02-13 15:45:14 +00:00 |
Oliver Payne
|
b8981693d2
|
Add add3 operation
This is to test coercion of >2 arguments.
|
2022-02-09 20:59:10 +00:00 |