Den tor. 21. jan. 2021 kl. 05.06 skrev Stuart Hungerford < stuart.hungerf...@gmail.com>:
> On Thursday, 21 January 2021 at 10:22:45 UTC+11 Jens Axel Søgaard wrote: > > > Back to your project - what is the goal of the project? > > Making something like GAP perhaps? > > Do you want your users to supply types - or do you want to go a more > dynamic route? > > My project is really aimed at supporting self-directed learning of > concepts from abstract algebra. > I was taught many years ago that to really understand something to try > implementing it in a high level language. > That will soon expose any hidden assumptions or misunderstandings. > That's a very interesting project. You are so to speak optimizing for readability. I immediately get a vision of a SICM-like book, but for algebra instead of classical mechanics. Racket will be a good choice, since macros give you the possibility of experimenting with suitable, easily understood syntax. A tricky choice is to be made: how are the concepts going to be represented as Racket values. Normal structs does not allow multiple inheritance. Looking at a diagram such as the one below, raises the question whether the relationship between the various concepts are to be modelled explicitly or implicitly. [image: image.png] Maybe some kind of interface for each concept is needed? /Jens Axel Link to SICM in case you haven't seen it already. https://mitpress.mit.edu/books/structure-and-interpretation-classical-mechanics Note that the authors of SICM wrote a CAS in Scheme that is used in the book. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CABefVgzzBkGYb7qPziPGoOGpDZ9QbpO%3DJVyDRrV_DLx5JJFA-w%40mail.gmail.com.