<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Dec 28, 2013, at 2:01 PM, Scott Klarenbach wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div>I'm playing around with the idea of a sort of "Language Integrated Query" like LINQ.  For example:</div>
<div><br></div><div>> (sql (query 'my-table</div><div>     #:where (λ (row) (> (hash-ref row 'id) 3))))</div><div>"select * from my-table where id > 3"</div><div><br></div></div></blockquote><div><br></div><div>I understand your motivation now. See Greg's suggestions. I think they are right on. </div><div><br></div><blockquote type="cite"><div dir="ltr"><div>In another thread, I'd like to poll this list as to the benefits (if any) of such a linq-style approach.  I got inspired by this paper: <a href="http://homepages.inf.ed.ac.uk/slindley/papers/practical-theory-of-linq.pdf">http://homepages.inf.ed.ac.uk/slindley/papers/practical-theory-of-linq.pdf</a> and really enjoyed the c# linq stuff I've played around with.  It may very well be; however, that this is not desired or useful,</div></div></blockquote><div><br></div><div><br></div><div>(1) Part of the Racket philosophy is not to exclude some approach because it is not desired or not considered useful. We welcome experimentations such as yours and when things fail, we re-consider our language. (No promise that we change it :-) </div><div>(2) I think a DSL approach to DBs based on syntactic abstractions might be more useful. </div><div><br></div><div>Keep us posted. Better yet, report on your experience at the next RacketCon. </div><div><br></div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div>As an aside:</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
This might be a MIT misunderstanding about the relationship between Scheme and the lambda calculus. It is certainly not possible in general and I see no pragmatic use case for an approximation. <br></blockquote><div><br></div>
<div>It would be really nice to print the source code of a known procedure on the repl, in order to get a quick view of what it does.  Or, the "pa" function which prints out the arguments of a procedure is even more useful.</div>
</div></blockquote><br></div><div><br></div><div>I think a function that displays (1) docs and/or (2) specs (say contracts) might be a lot more useful than raw source. </div><div><br></div><div>-- Matthias</div><div><br></div><div><br></div><br></body></html>