On Thursday, 21 January 2021 at 14:49:19 UTC+11 Siddhartha Kasivajhula 
wrote:

Depending on what you're trying to accomplish, you may find the 
> relation/composition 
> <https://docs.racket-lang.org/relation/Composing_Operations.html> module 
> (which I authored) to be of interest. It doesn't model algebraic structures 
> explicitly but uses them to generalize common composition operators like + 
> (as a group), and .. (as a monoid). It also provides derived functions like 
> power 
> <https://docs.racket-lang.org/relation/Composing_Operations.html#%28def._%28%28lib._relation%2Fcomposition..rkt%29._power%29%29>
> .
>
> If this is the kind of thing you're trying to do, also take a look at generic 
> interfaces <https://docs.racket-lang.org/reference/struct-generics.html> 
> (used 
> in the above library) which resemble typeclasses, and which could be used 
> to define monoids, groups, and so on as interfaces, which particular Racket 
> types could implement.
>
> There's also the Algebraic Racket 
> <https://docs.racket-lang.org/algebraic/class_base.html> library which I 
> believe uses classes and objects rather than generic interfaces, and has a 
> lot of other algebraic goodies as far as I can tell.
>

Thanks so much for pointing these out, there's a lot of inspiration there 
to draw from.

Stu

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/f64b0183-2669-4580-bd75-6cb998260790n%40googlegroups.com.

Reply via email to