> I've been wondering whether it would be more practical for struct-generated > names to concatenate with colon (":") as a separator, rather than with minus > ("-").
1. Yes. In addition to name conflicts, it's harder on human code readers (or at least, me) when '-' is overloaded. Especially if the struct name and/or field name have a hyphen. Quick, is 'a-b-c' a struct 'a' with a field 'b-c', or a struct 'a-b' with a 'c' field? Using ':' would be clearer. (If '.' weren't a special reader char, that would be even better, wrt other langs.) It's not a huge deal, but it's a bit more cognitive load when learning Racket and even (for me) reading code after a few years. 2. Also, although I haven't given it deep thought and maybe it's a poor idea, I'd like structs to join the `dict` club to which almost everything else belongs. That way, if `r` were an instance of a `roomba` struct with a `protocol` field, you could say something like (dict-ref r 'protocol) And further, if you're willing to pay more runtime cost of redefining #%app, you could also sugar as: (r 'protocol) and/or ('protocol r) Plus a threading macro can make nested struct references nearly as concise as in a {} lang. Maybe this is a silly idea because, if I _really_ want this, today I could simply choose some dict such as a hasheq instead of using a struct. Well, for my own data definitions; there's still the matter of working with other collects. ____________________ Racket Users list: http://lists.racket-lang.org/users