[prev in list] [next in list] [prev in thread] [next in thread] 

List:       racket-dev
Subject:    Re: [racket-dev] In Typed Racket, struct declarations do not work in an internal definition context
From:       Alexis King <lexi.lambda () gmail ! com>
Date:       2015-01-24 17:33:03
Message-ID: A36C9A5F-DEAD-4125-9787-9718CA63C42D () gmail ! com
[Download RAW message or body]

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 <samth@cs.indiana.edu> wrote:
> 
> On Thu, Jan 22, 2015 at 3:57 PM, Alexis King <lexi.lambda@gmail.com> 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:
  http://lists.racket-lang.org/dev

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic