[ prog / sol / mona ]

prog


What are you working on?

41 2019-01-08 12:50

http://ix.io/1xMb

- This is a nice upgrade, but there's really no need to mention me in the comments.
- Find-head now uses 'position' as an exclusive end index. This is fine for its purpose, but it also means it shouldn't be called with position=0.
- Radix-slice disallows find-head calls with end=0, although the second error names radix-delete.
- Radix-delete allows find-head calls with start=0, which is a problem both for find-head and because deleting everything would produce an empty radix. Also, the second error should be for a strict test, since equality means deleting nothing and should short-circuit to an identity operation.
- You have both (make-radix #() 0 0) and (make-radix #() 0 1).
- Radix-append's final-vector-remainder is 32 for a 32-aligned length. For a new radix of 64 elements radix-copy-path will be called with 63. This will copy the path to the second full leaf vector, then call the lambda with 31. This will then call vector-copy! at 32 on a 32-vector with copy count 32.

42 2019-01-09 05:47

>>41

This is a nice upgrade, but there's really no need to mention me in the comments.

If you'd actually like to be removed I can just change it to "anonomous contributer" and remove the context. I certainly don't want to remove the testement to the work you've done, even if only you and I know who it's refering to. It's just a means to give credit where it's due and expressing my appresiation for all you've done for me. The name spiral-anon reminds me to ask if you've had the time to work on anything for your self lately?

Find-head now uses 'position' as an exclusive end index. This is fine for its purpose, but it also means it shouldn't be called with position=0.
Radix-slice disallows find-head calls with end=0, although the second error names radix-delete.
Radix-delete allows find-head calls with start=0, which is a problem both for find-head and because deleting everything would produce an empty radix. Also, the second error should be for a strict test, since equality means deleting nothing and should short-circuit to an identity operation.
You have both (make-radix #() 0 0) and (make-radix #() 0 1).
Radix-append's final-vector-remainder is 32 for a 32-aligned length. For a new radix of 64 elements radix-copy-path will be called with 63. This will copy the path to the second full leaf vector, then call the lambda with 31. This will then call vector-copy! at 32 on a 32-vector with copy count 32.

I think I've fixed or documented all of these now along with a whole host of other changes, I'm kind of exhausted so I might have a slower day tommorrow: http://ix.io/1xRN
Other than this I watched a video lecture on Backus's "function level programing" which was pretty interesting.

199


VIP:

do not edit these