Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

F REST B20 / lambda let hindley milner principal polymorphic type

Verify the complete principal polymorphic type of a closed supplied lambda/let expression.

POST https://detect.halowerk.com/v1/F-REST-B20/lambda-let-hindley-milner-principal-polymorphic-type

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": [
        "hindleyMilner"
      ],
      "properties": {
        "hindleyMilner": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "data",
            "claim"
          ],
          "properties": {
            "data": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "expressions"
              ],
              "properties": {
                "expressions": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "op",
                          "name"
                        ],
                        "properties": {
                          "op": {
                            "const": "variable"
                          },
                          "name": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "op",
                          "parameter",
                          "body"
                        ],
                        "properties": {
                          "op": {
                            "const": "lambda"
                          },
                          "parameter": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          },
                          "body": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "op",
                          "function",
                          "argument"
                        ],
                        "properties": {
                          "op": {
                            "const": "apply"
                          },
                          "function": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          },
                          "argument": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "op",
                          "name",
                          "value",
                          "body"
                        ],
                        "properties": {
                          "op": {
                            "const": "let"
                          },
                          "name": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          },
                          "value": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          },
                          "body": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255
                          }
                        }
                      }
                    ]
                  },
                  "minItems": 1,
                  "maxItems": 30
                }
              }
            },
            "claim": {}
          }
        }
      }
    }
  }
}

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 →