I'm trying to understand what are the guarantees that raco make is meant to provide. I'm going to limit this to simple programs, no fancy dynamic requires, or trying to trick the compiler.
In the following scenario: 1. Edit files 2. run 'raco make <files>' 3. Change files I expect all of these to have the same effect during the running of phase 0 when running racket. 4. racket <main-file> or 4. raco make <files> 5. racket <main-file> or 4. rm -rf compiled/ 5. raco make <files> 6. racket <main-file> I can make version 1 and 2 differ with the following program: a.rkt #lang racket (require "b.rkt") (macro) #lang racket (provide maco) (define-syntax (macro stx) #''version1) Where the edit is changing version1 to version2. I can also replicate this with a function and not a macro. I thought I could make version 2 and version 3 differ, but cannot seem to replicate it now, but it would be helpful to know if I see something that is fixed by clearing the compiled directories. My understanding was that racket used the same logic as raco make on whether or not to use the compiled versions versus recompiling, and this seems to refute that. Can someone give some insight on what I should be expecting? ____________________ Racket Users list: http://lists.racket-lang.org/users