22:47:36aethYou'd also probably want to write a typed-list as well as some list related operations, such as do-typed-list
22:48:58aethI'm probably going to use a variation of that in one of my programs because it turns O(n) type checking into O(1), and there isn't much more than type checking done to items of the list.
5:09:05White_Flameis there any name or notion for currying that can happen in any order? it always seems difficult to me to use currying, because it's not guaranteed which of the parameters I'd want to predefine
5:33:57phoeWhite_Flame: how would you even do that?
5:35:29theemacsshibe[m]ACTION sent a long message: theemacsshibe[m]_2018-04-13_05:35:29.txt <https://matrix.org/_matrix/media/v1/download/matrix.org/tbWgwDVOXjtwtfcslaGQxbDS>
5:36:25phoeWhite_Flame: instead of multiple curries/rcurries, I use a straight up lambda call.
5:37:10phoe(lambda (a s d f g h j) (funcall a f s j d h g))
5:42:01White_FlameI mean, given (lambda (a b c) ..), maybe you want to set b first, then c, then a, or whatever, as separate steps
5:42:23White_Flamebut yeah, if you (lambda (b c a) (funcall thing a b c)), then you can curry the outer per ordering you want I guess
5:42:57White_Flamecurrying just seems awfully sequentially dependent to my eyes
5:43:13phoeif it's about setting then better do an explicit let*
5:43:26phoebecause then a programmer will know that the order in which you bind these variables matters