---
name: "Callback"
section: "3o"
platform: "linux"
package: "ocaml"
version: "5.5.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Callback/3o"
---

# Callback(3o)

Registering OCaml values with the C runtime.

## NAME

Callback - Registering OCaml values with the C runtime.

## Module

Module   Callback

## Documentation

Module **Callback**\
  :  **sig end**

Registering OCaml values with the C runtime.

This module allows OCaml values to be registered with the C runtime under a symbolic name, so that C code can later call back registered OCaml functions, or raise registered OCaml exceptions.

*val register* :  **string -\> 'a -\> unit**

**Callback.register n v** registers the value  **v** under the name  **n** . C code can later retrieve a handle to  **v** by calling  **caml\_named\_value(n)** .

*val register\_exception* :  **string -\> exn -\> unit**

**Callback.register\_exception n exn** registers the exception contained in the exception value  **exn** under the name  **n** . C code can later retrieve a handle to the exception by calling  **caml\_named\_value(n)** . The exception value thus obtained is suitable for passing as first argument to  **raise\_constant** or  **raise\_with\_arg** .
