Thanks for the suggestions, everyone. Looks like I'll have plenty of reading to keep me busy for a while.<div><br></div><div>-Curtis</div><div><br></div><div><br><br><div class="gmail_quote">On Sat, Jun 2, 2012 at 3:15 PM, Jay McCarthy <span dir="ltr"><<a href="mailto:jay.mccarthy@gmail.com" target="_blank">jay.mccarthy@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As for implementation Racket and/or Scheme, I'd suggest reading<br>
Dybvig's papers [1], particularly his dissertation (which is very<br>
readable by a novice) [2]. Also the articles on Larceny [3], including<br>
its web page about the compiler [4]. Finally, Casey Klein (and others)<br>
have a paper that describes the adaptions made to one of the models in<br>
Dybvig's dissertation (at least that's the way I read it) to derive<br>
the VM underneath Racket [5].<br>
<br>
I'd say that each of those three strands are mostly independent and<br>
you could start down any of them.<br>
<br>
Jay<br>
<br>
1. <a href="http://www.cs.indiana.edu/~dyb/pubs.html" target="_blank">http://www.cs.indiana.edu/~dyb/pubs.html</a><br>
2. <a href="http://www.cs.indiana.edu/~dyb/pubs/3imp.pdf" target="_blank">http://www.cs.indiana.edu/~dyb/pubs/3imp.pdf</a><br>
3. <a href="http://www.larcenists.org/research.html" target="_blank">http://www.larcenists.org/research.html</a><br>
4. <a href="http://www.larcenists.org/twobit.html" target="_blank">http://www.larcenists.org/twobit.html</a><br>
5. <a href="http://plt.eecs.northwestern.edu/racket-machine/" target="_blank">http://plt.eecs.northwestern.edu/racket-machine/</a><br>
<div><div class="h5"><br>
On Sat, Jun 2, 2012 at 8:32 AM, curtis wolterding<br>
<<a href="mailto:curtiswolterding@gmail.com">curtiswolterding@gmail.com</a>> wrote:<br>
> Hello Racketeers,<br>
><br>
> A friend and I recently finished working through this book together, The<br>
> Elements of Computing Systems - <a href="http://www1.idc.ac.il/tecs/" target="_blank">http://www1.idc.ac.il/tecs/</a>, where we built<br>
> a computer (virtually) from the ground up: from NAND gates, to a (barely)<br>
> working compiler and a very basic OS. After finishing all of the projects,<br>
> and after having a month or so now to recover from the stress and pure<br>
> insanity, I can't stop thinking about how fun it would be to learn about the<br>
> implementation of Scheme, or, more specifically, Racket! Does anyone know<br>
> where I could find a good discussion or explanation of the inner workings of<br>
> either of these languages?<br>
><br>
> I apologize if this is an off-topic question for the mailing list.<br>
><br>
> Also, I want to sincerely thank the Racket Devs for creating such a well<br>
> documented, and user-friendly project. Other than completing about half of<br>
> HTDP (I'm planning on finishing the rest this summer!), and a very<br>
> introductory C++ class many years ago in college, the Elements book was<br>
> really my first introduction to computing. Having coded the assembler, VM,<br>
> and compiler for the book in Racket, I have basically lived on the Racket<br>
> docs pages for the last three quarters of a year. It's been an amazing<br>
> journey, and I honestly could not have completed everything had Racket not<br>
> come with such excellent documentation, such an easy to use IDE, or had it<br>
> not been such a joy to code in. On behalf of a true beginner, thank you.<br>
><br>
> Cheers,<br>
><br>
> Curtis Wolterding<br>
</div></div>> ____________________<br>
> Racket Users list:<br>
> <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
><br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Jay McCarthy <<a href="mailto:jay@cs.byu.edu">jay@cs.byu.edu</a>><br>
Assistant Professor / Brigham Young University<br>
<a href="http://faculty.cs.byu.edu/~jay" target="_blank">http://faculty.cs.byu.edu/~jay</a><br>
<br>
"The glory of God is Intelligence" - D&C 93<br>
</font></span></blockquote></div><br></div>