Yes, I’d considered that point, and yes, it makes sense. Anyway, the situation 
in which I was trying to do something like this ended up being unnecessary, so 
I don’t even have a valid use-case anymore. I think it’s probably okay to leave 
it as-is unless someone can come up with a useful reason to care.

> On Jan 24, 2015, at 09:24, Sam Tobin-Hochstadt <> wrote:
> On Thu, Jan 22, 2015 at 3:57 PM, Alexis King <> wrote:
>> I can work around this in a variety of ways—I can extract this into an
>> untyped module and use require/typed, I can use vectors to “fake” structs
>> and provide an appropriate interface, etc. Still, I wonder if there are any
>> plans to resolve this type of problem? Since it seems to be an issue with
>> how TR handles types at its core, I’m not even sure how feasible it would
>> be.
> I don't currently have plans to work on this problem. The big issue is
> that Racket structs are what's called "generative", meaning that each
> time you execute a struct declaration, you get a different struct
> type. Thus it's not at all clear what the right type should be for
> your `make-me-a-struct` function, and type systems that do allow this
> sort of thing (such as ML) would reject this particular use.
> Can you say more about the specific issue you're having? There might
> be a different way around it.
> Sam

  Racket Developers list:

Reply via email to