<div dir="ltr"><div>Greg,<br><br></div><div>You can use struct-info and struct-type-info to get at that information, though it's a bit indirect -- you have to add together the numbers of initialized and automatic fields, and compare that to the length of the list of immutable field indices.  The reflective interface to structs is a bit odd, mostly since it has been growing incrementally over time.<br>

</div><div class="gmail_extra"><br clear="all"><div>Carl Eastlund</div>
<br><div class="gmail_quote">On Sat, Jan 25, 2014 at 4:41 PM, Greg Hendershott <span dir="ltr"><<a href="mailto:greghendershott@gmail.com" target="_blank">greghendershott@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I understand that, as its documentation clearly says, `immutable?` is<br>
not implemented for `struct`s. (In the sense that structs aren't on<br>
its special list: immutable? returns #f even for a struct that does<br>
not use #:mutable.)<br>
<br>
Is there some other way to check at runtime whether something that is<br>
struct? is mutable or not?<br>
<br>
<br>
p.s. The background for my question is an implementation of `egal?`:<br>
<a href="https://github.com/greghendershott/rackjure#egal" target="_blank">https://github.com/greghendershott/rackjure#egal</a><br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
</blockquote></div><br></div></div>