-
Notifications
You must be signed in to change notification settings - Fork 12
Development Workflows
Run make help
or simply make
to see all of the options here. The main ones are summarized below.
This "loop" could be employed in most cases while making any changes to the code or to the tests.
make build
Sometimes, you might end up with stale compilation output (e.g. .zo
files). If these are present, Racket will use them in preference to the corresponding source modules (which may happen to be more up to date). A common symptom of this is getting strange errors that don't make any sense, or errors lingering that you thought you had fixed. To address this, you can "clean" all compile output prior to building again, by using:
make clean
A faster option could be to do:
racket -y module-you-are-trying-to-run.rkt
This tells Racket, "[y]es, please recompile all dependent modules" before running this file.
make test
make test-flow
This is just an example, but it is the one you'll most commonly want to use, as it runs the fastest and tests the core language (which is contained in the flow.rkt
module). You may want to run make test
only at later stages in development. For other modules you can test, run make help
or simply make
to see all the options.
This loop may be employed while making changes to the documentation. The docs are in Scribble files in qi-doc/
. After making any additions or changes:
make build-docs
make docs
You'd typically only use these when you're optimizing performance in general or modifying the implementation of a particular form.
You will need to install the SDK first before running the profilers. The SDK is just a collection of Racket dependencies (e.g. for command line scripting, coverage reporting, etc.) that are needed in order for the profiling scripts to work. You could install these dependencies manually yourself, but the SDK collects these dependencies into a Racket package (qi-sdk
) so that you can use Raco to do it for you, instead.
make profile
make profile-competitive
make profile-forms
make profile-selected-forms
Home | Developer's Guide | Calendar | Events | Projects | Meeting Notes