Anonymous
09/03/25(Wed)21:38:17 No.106478482 I'm working through HTDP, still in the beginning, but I have a feeling that the way Racket is structured I'm suppose to eventually start to write these functions backwards, like I'm supposed to have quite a delineated solution already, otherwise I have to wrestle a bit with the countless (((())(()))(()())(())). As much as I find amusing to draw vaginas-like constructs everywhere, this can easily turn into a messy stream to navigate.
For example, and this is quite a simplistic example, going over the 0 without a clear mind of what I have to do afterwards made me, for a second, be a bit bamboozled over the parenthesis galore.
(define (string-remove-last str)
(substring str 0 (- (string-length str) 1)))
Again, pretty minor "issue", perhaps not even an issue, but to big nested beasts of a functions I expect this to become a little bit annoying, especially if a need to fix something that involve less or more parenthesis.
I'm not complaining, I guess, especially because I give zero probability to the possibility of swapping JavaScript for Racket professionaly and I'm doing this more as an intellectual exercise and to learn what's up with this book and eventually SICP, but still, just an observation.