<div dir="ltr">Hi Matthias,<br><br>It&#39;s inside a commercial product, yes. It&#39;s pretty 
specific and sits above a fairly expensive OEM part so I don&#39;t know that there would be a lot of call for open-sourcing
 anything. If you want more details I&#39;d be happy to provide them, though.<br><br>What I did end up implementing that I didn&#39;t find available 
directly were watchdog threads. I had a thread that should always be 
able to successfully loop a query/read-response but might block indefinitely 
in case of some problem. It was simple enough to put together but it was
 a little too ad hoc for my liking. It looks like there is something 
similar in the web server API, where timers fire events to kill a hanging
connection (or never happen if the transaction succeeds); it wasn&#39;t immediately obvious to me how to leverage this, 
though, and is anyway in &quot;private&quot;. In fact I considered using the web server API in general but it felt too tied to TCP to be useful for handling 
byte-streams from input-output-files, even though the asynchronous nature of these two is otherwise quite similar. That certainly could have been due to my poor reading of the documents, though. <br><br>Deren<br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Mon, Aug 19, 2013 at 9:40 AM, Matthias Felleisen <span dir="ltr">&lt;<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks for letting us know. Is this a commercial/open source/hobby project of yours? -- Matthias<br>
<div><div class="h5"><br>
<br>
<br>
On Aug 16, 2013, at 7:17 PM, Deren Dohoda wrote:<br>
<br>
&gt; Hi Racketeers.<br>
&gt;<br>
&gt; I don&#39;t know how long I&#39;ve been using racket/PLT scheme, but I do know it has really benefited me in the last year for small helper projects and I just wanted to thank everyone involved in the project and the mailing list (I learn a lot lurking here).<br>

&gt;<br>
&gt; Very recently I started developing an embedded system running a linux distribution on an ARM single-board computer, and Racket quite simply has saved the day. I can develop so easily in DrRacket on the PC and copy it to the embedded computer and everything just works exactly as tested on the PC. Zero cross-compiling nightmares as I&#39;d have had if I stuck to C. I found the built-in threads to be a major boon and their interface feels exactly right to me. About the only hitch was getting serial ports to work in Racket as an input-output-file but it does and it didn&#39;t require a lot of effort. Using byte streams as an input on the PC meant I could simulate real behavior and errors very well so that I could have a great set of test cases. When the time came to execute on the platform I was confident it was right (and, yes, it was!).<br>

&gt;<br>
&gt; Right now I was under pressure to complete so I built myself a straightforward interpreter, but I already have plans to switch over to a language model and I know Racket is going to continue to shine for me and build a very robust system.<br>

&gt;<br>
&gt; There isn&#39;t much more to say on the matter, I&#39;ve just been so overjoyed at both being able to use Racket in a project and at how well it was up to the task that I wanted to gush a little bit.<br>
&gt;<br>
&gt; Thanks again, everyone.<br>
</div></div>&gt; ____________________<br>
&gt;  Racket Users list:<br>
&gt;  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
</blockquote></div><br></div>