TopicsΒΆ Method Dispatch Publications Generic Function Representation Runtime Dispatch Discriminators at Runtime Discriminator Structure Compile Time Optimization Analysis Performance Highlighting Dispatch Profiler Future Work Debugging Debugging a Compiler Crash or Internal Error Dumping DFM Output Porting to a New Target Platform Naming Your Target New Registry System Library New LID and definitions Magic Numbers C Back-End LLVM Back-End Build Scripts Autoconf Performing a Cross-Build Preparing the Garbage Collector Building the Run-Time Creating a Custom Build Script Cross-Building a Test Application Cross-Building the Dylan Compiler Building without a Cross-Compiler The PPML library Constructing a PPML Document Printing a PPML Document The PPML module PPML Tokens and Constructors <ppml> <ppml-block> ppml-block <ppml-break> ppml-break <ppml-browser-aware-object> ppml-browser-aware-object <ppml-separator-block> ppml-separator-block <ppml-string> ppml-string <ppml-suspension> ppml-suspension Conversion to PPML as(class == <ppml>, <object>) as(class == <ppml>, <byte-string>) as(class == <ppml>, <symbol>) as(class == <ppml>, <collection>) as(class == <ppml>, <explicit-key-collection>) as(class == <ppml>, <vector>) as(class == <ppml>, <list>) Printing / Formatting format-to-ppml ppml-format-string ppml-print ppml-print-one-line <ppml-printer> Type Aliases and Constants <nat> <ppml-break-type> <ppml-sequence> $line-break Release Check-list Post-release Tasks