II Inside Racket BC (3m and CGC)🔗ℹ

The Racket BC API was originally designed for a tight integration with C code. As a result, the BC API is considerably larger than the Racket CS API.

    8 Overview (BC)

      8.1 “Scheme” versus “Racket”

      8.2 CGC versus 3m

      8.3 Embedding and Extending Racket

      8.4 Racket BC and Places

      8.5 Racket BC and Threads

      8.6 Racket BC, Unicode, Characters, and Strings

      8.7 Racket BC Integers

    9 Embedding into a Program (BC)

      9.1 CGC Embedding

      9.2 3m Embedding

      9.3 Flags and Hooks

    10 Writing Racket Extensions (BC)

      10.1 CGC Extensions

      10.2 3m Extensions

      10.3 Declaring a Module in an Extension

    11 Values and Types (BC)

      11.1 Standard Types

      11.2 Global Constants

      11.3 Strings

      11.4 Value Functions

    12 Memory Allocation (BC)

      12.1 Cooperating with 3m

        12.1.1 Tagged Objects

        12.1.2 Local Pointers

        12.1.3 Local Pointers and raco ctool --xform

        12.1.4 Guiding raco ctool --xform

        12.1.5 Places and Garbage Collector Instances

      12.2 Memory Functions

    13 Namespaces and Modules (BC)

    14 Procedures (BC)

    15 Evaluation (BC)

      15.1 Top-level Evaluation Functions

      15.2 Tail Evaluation

      15.3 Multiple Values

      15.4 Evaluation Functions

    16 Exceptions and Escape Continuations (BC)

      16.1 Temporarily Catching Error Escapes

      16.2 Enabling and Disabling Breaks

      16.3 Exception Functions

    17 Threads (BC)

      17.1 Integration with Threads

      17.2 Allowing Thread Switches

      17.3 Blocking the Current Thread

      17.4 Threads in Embedded Racket with Event Loops

        17.4.1 Callbacks for Blocked Threads

      17.5 Sleeping by Embedded Racket

      17.6 Thread Functions

    18 Parameterizations (BC)

    19 Continuation Marks (BC)

    20 String Encodings (BC)

    21 Bignums, Rationals, and Complex Numbers (BC)

    22 Ports and the Filesystem (BC)

    23 Structures (BC)

    24 Security Guards (BC)

    25 Custodians (BC)

    26 Subprocesses (BC)

    27 Miscellaneous Utilities (BC)