Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

F TD2000 DOCUMENTS 15 / ocaml52 deep oneshot effect handler resume discontinue transcript

Evaluate a bounded deep effect-handler program with captured one-shot delimited continuations, resumption, discontinuation and unhandled effects.. Compare the complete typed result SHA256.

POST https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-15/ocaml52-deep-oneshot-effect-handler-resume-discontinue-transcript

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "artifact"
  ],
  "properties": {
    "artifact": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "effectHandlers"
      ],
      "properties": {
        "effectHandlers": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "data",
            "claim"
          ],
          "properties": {
            "data": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "nodes",
                "root"
              ],
              "properties": {
                "nodes": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "value"
                        ],
                        "properties": {
                          "kind": {
                            "const": "integer"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "value": {
                            "type": "integer",
                            "minimum": -1000000000,
                            "maximum": 1000000000
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "value"
                        ],
                        "properties": {
                          "kind": {
                            "const": "boolean"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "value": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id"
                        ],
                        "properties": {
                          "kind": {
                            "const": "unit"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "binding"
                        ],
                        "properties": {
                          "kind": {
                            "const": "variable"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "binding": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "binding",
                          "value",
                          "body"
                        ],
                        "properties": {
                          "kind": {
                            "const": "let"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "binding": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "value": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "body": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "condition",
                          "then",
                          "otherwise"
                        ],
                        "properties": {
                          "kind": {
                            "const": "if"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "condition": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "then": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "otherwise": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "expressions"
                        ],
                        "properties": {
                          "kind": {
                            "enum": [
                              "begin",
                              "add"
                            ]
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "expressions": {
                            "type": "array",
                            "items": {
                              "$ref": "#/properties/artifact/%24defs/a"
                            },
                            "maxItems": 32
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "label",
                          "value"
                        ],
                        "properties": {
                          "kind": {
                            "const": "emit"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "label": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "value": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "effect",
                          "value"
                        ],
                        "properties": {
                          "kind": {
                            "const": "perform"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "effect": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "value": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "body",
                          "return_binding",
                          "return_body",
                          "effects",
                          "exception_handler"
                        ],
                        "properties": {
                          "kind": {
                            "const": "handle"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "body": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "return_binding": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "return_body": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "effects": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "effect",
                                "argument_binding",
                                "continuation_binding",
                                "body"
                              ],
                              "properties": {
                                "effect": {
                                  "$ref": "#/properties/artifact/%24defs/a"
                                },
                                "argument_binding": {
                                  "$ref": "#/properties/artifact/%24defs/a"
                                },
                                "continuation_binding": {
                                  "$ref": "#/properties/artifact/%24defs/a"
                                },
                                "body": {
                                  "$ref": "#/properties/artifact/%24defs/a"
                                }
                              }
                            },
                            "maxItems": 8
                          },
                          "exception_handler": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "additionalProperties": false,
                            "required": [
                              "binding",
                              "body"
                            ],
                            "properties": {
                              "binding": {
                                "$ref": "#/properties/artifact/%24defs/a"
                              },
                              "body": {
                                "$ref": "#/properties/artifact/%24defs/a"
                              }
                            }
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "continuation",
                          "value"
                        ],
                        "properties": {
                          "kind": {
                            "const": "continue"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "continuation": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "value": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "continuation",
                          "exception"
                        ],
                        "properties": {
                          "kind": {
                            "const": "discontinue"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "continuation": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "exception": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "exception"
                        ],
                        "properties": {
                          "kind": {
                            "const": "raise"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "exception": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "body",
                          "binding",
                          "handler"
                        ],
                        "properties": {
                          "kind": {
                            "const": "catch"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "body": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "binding": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "handler": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      }
                    ]
                  },
                  "minItems": 1,
                  "maxItems": 128
                },
                "root": {
                  "$ref": "#/properties/artifact/%24defs/a"
                }
              }
            },
            "claim": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 64,
              "maxLength": 64,
              "pattern": "^[0-9a-f]{64}$"
            }
          }
        }
      },
      "$defs": {
        "a": {
          "type": "string",
          "minLength": 1,
          "maxLength": 48,
          "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
        }
      }
    }
  }
}

Originalschema öffnen

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →