[racket] Best Way to Really Understand the Compilation and Execution Model?

From: Stephen Chang (stchang at ccs.neu.edu)
Date: Mon Aug 5 12:59:10 EDT 2013

> despite reading much of the Racket Reference, I don't truly get it yet.

The Reference is intended more as a look-up source so it may be
difficult to learn much by reading it continuously. The Racket Guide,
and specifically the macro section, is a better place to start.


On Sun, Aug 4, 2013 at 4:50 PM, Nick Sivo <nicksivo at gmail.com> wrote:
> Hello everyone,
> I work on Hacker News[1], which is written in Arc[2], and am tasked
> with making it faster.  The Arc compiler targets Racket[3], but
> doesn't do so in such a way that function names or source locations
> are preserved.  This makes output from the sampling profiler and error
> messages mostly useless.
> I'd like to make Arc work as a Racket language (and in the process
> preserve srclocs and names), and have made some progress[4].  However,
> I'm hitting a wall trying to implement Arc's macros.  Specifically, I
> need to find a way for the macros themselves to use previously defined
> Arc functions as part of their processing. I understand that there are
> good reasons for Racket's hygiene and syntax phases, but I'm
> implementing an existing language that has its own strong opinions.
> I'm almost certain that accomplishing my goal is possible with the
> right understanding, but despite reading much of the Racket Reference,
> I don't truly get it yet.
> With that motivation in mind, what's the best way for me to become
> intimately familiar with Racket's runtime, execution and compilation
> model? Should I read through and make sure I understand the debugger?
> The macro stepper?  Is there any kind of guide to Racket Internals?
> Thanks for any advice.
> Best,
> Nick
> [1] https://news.ycombinator.com
> [2] http://arclanguage.org
> [3] Well, really mzscheme
> [4] https://github.com/kogir/rark
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users

Posted on the users mailing list.