Jules,<br><br>Thanks for these comments. i wouldn&#39;t judge Haskell solely on the basis of whether it embraced reflection as an organizing computational principle or as a toolbox for programmers. Clearly, you can get very far without it. And, it may be that higher-order functional gives you enough of the &#39;programs that build programs&#39; capability that 80% of the practical benefits of reflection are covered -- without having to take on the extra level of complexity that reflection adds to typing. i was really just seeking information.
<br><br>Best wishes,<br><br>--greg<br><br><div><span class="gmail_quote">On 9/11/07, <b class="gmail_sendername">Jules Bean</b> &lt;<a href="mailto:jules@jellybean.co.uk">jules@jellybean.co.uk</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Greg Meredith wrote:<br>&gt; Haskellians,<br>&gt;<br>&gt; Am i wrong in my assessment that the vast majority of reflective<br>&gt; machinery is missing from Haskell? Specifically,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; * there is no runtime representation of type available for
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; programmatic representation<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; * there is no runtime representation of the type-inferencing or<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checking machinery<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; * there is no runtime representation of the evaluation machinery
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; * there is no runtime representation of the lexical or parsing<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; machinery<br><br><br>As far as they go, those are true.<br><br>Haskell compiler are permitted to erase types and GHC does so. There is
<br>no need to check types at runtime; that&#39;s the point of the system! There<br>is no evaluator, or parser, built in to the standard libraries. (The<br>lexer, or a version of it, is embedded in actual fact but that&#39;s not
<br>very exciting).<br><br>However, one should not draw too strong negative conclusions from this.<br>It is possible to get suprisingly far with more powerful, more typesafe<br>techniques without surrendering the the pure dynamism of languages that
<br>lack compile-time guarantees. Deriving Typeable and Data is one tool<br>which is useful.<br><br>It is quite possible to embed a haskell compiler, see hs-plugins.<br><br>Jules<br></blockquote></div><br><br clear="all">
<br>-- <br>L.G. Meredith<br>Managing Partner<br>Biosimilarity LLC<br>505 N 72nd St<br>Seattle, WA 98103<br><br>+1 206.650.3740<br><br><a href="http://biosimilarity.blogspot.com">http://biosimilarity.blogspot.com</a>