<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>I tried typing this code several times into Gambit on my Samsung phone.  The first several times it simply defaulted to the phones default screen and each time when I invoked Gambit it would act as it should.  This last time it we to the normal Gambit screen, but all that's showing is the header line with a white screen.  I  believe the last time it opted to send a report, which I did.  Advanced Task Killer does not solve the problem.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br><span></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><span>Restarting the
 phone does solve this problem.<br></span></div><div><br></div>  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Mikael <mikael.rcv@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Álvaro Castro-Castilla <alvaro.castro.castilla@gmail.com>; Meng Zhang <wsxiaoys.lh@gmail.com>; hendrik@topoi.pooq.com; Jason Felice <jason.m.felice@gmail.com>; Per Eckerdal <per.eckerdal@gmail.com>; gambit-list@iro.umontreal.ca <br> <b><span style="font-weight: bold;">Sent:</span></b> Friday, January 11, 2013 9:25 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [gambit-list] Thoughts on Scheme<br> </font> </div> <br><div id="yiv117701409"><div><br></div><div>2013/1/5 Meng
 Zhang <span dir="ltr"><<a rel="nofollow" ymailto="mailto:wsxiaoys.lh@gmail.com" target="_blank" href="mailto:wsxiaoys.lh@gmail.com">wsxiaoys.lh@gmail.com</a>></span></div><div><blockquote class="yiv117701409gmail_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;">




<div dir="ltr"><div class="yiv117701409gmail_extra">While talking about the syntactic-closures, If we ignore syntax-case, I'll disagree that it brings "incredible" complexity. I've been uncertain</div><div class="yiv117701409gmail_extra">




on syntactic-closures for years [..] I found</div><div class="yiv117701409gmail_extra">the concept of it is quite straight forward. </div></div></blockquote><div> </div></div><div class="yiv117701409gmail_quote">2013/1/6 Álvaro Castro-Castilla <span dir="ltr"><<a rel="nofollow" ymailto="mailto:alvaro.castro.castilla@gmail.com" target="_blank" href="mailto:alvaro.castro.castilla@gmail.com">alvaro.castro.castilla@gmail.com</a>></span><br>




<blockquote class="yiv117701409gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div dir="ltr">I agree with Meng.<div>I see syntax-rules as a DSL for hygienic macros. It is completely "schemey" in the same way libraries like Kanren for logic programming, or FrTime for reactive programming are. The only difference is that when using hygienic macros, your code becomes data as well, to be processed before it actually turns into code.</div>




</div></blockquote><div><br></div><div><div>Meng and Alvaro, ah, note taken, to have a clearer take on them personally, I'd need some serious experience of using them, and until now I did not really dig into them that much personally.</div>




<div><br></div><div><br></div><div>It's really unfortunate, in a sense, that in a hybrid S.C. and define-macro environment, that any use in define-macro of symbol? or any kind of symbol inspection or comparison, easly becomes *Completely Messed*.</div>


<div><br></div><div>Here's a mild example:</div><div><br></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px;"><div class="yiv117701409gmail_quote"><div><div><div><font face="courier new, monospace">(define-macro (debug-print . a)</font></div>


</div></div></div><div class="yiv117701409gmail_quote"><div><div><div><font face="courier new, monospace">   (for-each (lambda (e) (cond ((symbol? e) (print "'" (symbol->string e) " "))</font></div><div><font face="courier new, monospace">                               ((string? e) (print e " "))</font></div>


<div><font face="courier new, monospace">                               (else (write e) (print " ")))) a))</font></div></div></div></div><div class="yiv117701409gmail_quote"><div><div><font face="courier new, monospace"><br>


</font></div></div></div><div class="yiv117701409gmail_quote"><div><div><font face="courier new, monospace">(debug-print 5 + 7 "\n")</font></div></div></div></blockquote><div class="yiv117701409gmail_quote"><div><div><br></div><div>What is printed in the place of "+" depends on the particular grace of the SC macros loaded and the expander in this moment and instance.</div>


<div><br></div><div>It could |write| any expander-internal structure really, with any amount of object dependencies.</div><div><br></div><div>Now this was a really basic example, if some more extensive one comes to your mind feel free to share.</div>


</div><div><br></div><div><br></div><div><div>Meng:</div><blockquote class="yiv117701409gmail_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;">



<div dir="ltr"><div class="yiv117701409gmail_extra">Though I deadly missed an easy-to-understand, concrete implementation with document for it during the learning process.</div></div></blockquote><div><br></div><div>Yes! Like, a complete reference of Scheme macro systems: How to use them, strengths and limitations, how to implement them on their own and in hybrid forms, and what the challenges are, including illustrative examples.</div>




</div><div><br></div><div>This would do well as a downloadable PDF book.</div><div><br></div><div> </div><div>Alvaro:</div><blockquote class="yiv117701409gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">



<div dir="ltr">

<div>Actually, when you take into account a couple of pitfalls regarding lexical scoping and shadowing and use a variety of techniques, including continuation-passing-style, writing syntax-rules macros are extremely powerful and similar to regular recursive scheme.</div>




</div></blockquote><div><br></div><div>Can you give any code examples of use of this variety of techniques for writing extremely powerful syntax-rules macros?</div><div><br></div><br><div class="yiv117701409gmail_quote">2013/1/8 Hendrik Boom <span dir="ltr"><<a rel="nofollow" ymailto="mailto:hendrik@topoi.pooq.com" target="_blank" href="mailto:hendrik@topoi.pooq.com">hendrik@topoi.pooq.com</a>></span><br>




<blockquote class="yiv117701409gmail_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;">On Mon, Jan 07, 2013 at 10:37:08AM -0500, Jason Felice wrote:<br>




...<br>...<br><div>> I don't think efficiency in terms of constant factors should often win<br>> versus code which could be more general.   Clearly this is a value choice;<br>> however, I wonder how well a compiler can eliminate type dispatching<br>




> without adding type annotation to the language.<br><br></div>For me, the value of type anotations is the possibility of static type<br>checking, which catches bugs fast.  That the compiler can then use the<br>information to generate better code is a pleasant freebie.<br>




<br>It would be interesting to see if the stragegy in, say, typed Racket,<br>could be usefully adapted to Gambit.<br></blockquote><div><br></div><div>Yes, type annotations that catch bugs already at expand time would be of value.</div>


<div><br></div><div>The abstract interpreter might not catch all at compile time of course, but, really enough. I'd be curious to know what kind of performance such a solution would have .. I wonder what Might published recently.</div>


<div><br></div>

<div><br></div></div></div>
</div><br>_______________________________________________<br>Gambit-list mailing list<br><a ymailto="mailto:Gambit-list@iro.umontreal.ca" href="mailto:Gambit-list@iro.umontreal.ca">Gambit-list@iro.umontreal.ca</a><br><a href="https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list" target="_blank">https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list</a><br><br><br> </div> </div>  </div></body></html>