본문으로 이동
(Lispex)2.0명세 · 출시 전

문서 검색

영어 명세를 검색합니다

질문, 심볼, 진단 코드, 명령을 입력하세요.

차례

명세 검색
리스펙스 2.0 · 언어 · I.3장

I.3장

Values and text

Build immutable data, compare values, and preserve exact Unicode text across rule boundaries.

번역이 없는 문장은 영어 원문으로 보입니다

Scope

This chapter defines Datum, scalar values, portable data, and equality. It also defines raw Unicode text and the constraints on mapping host records into data. Exact numbers defines numeric meaning. Procedures defines executable values and entry calls.

Datum

A Datum is a finite portable value. A scalar is a Boolean, an exact number, a character, a symbol, or the empty list. Aggregate Datum values are pairs, strings, vectors, and bytevectors. Every element of an aggregate Datum is itself a Datum. A list is a chain of pairs ending in the empty list.

Portable data has no cycles or executable components. A pair can hold another Datum in either position. A vector holds an ordered sequence of Datum values. A bytevector holds an ordered sequence of bytes. Strings and symbols preserve the Unicode scalar sequences described below.

Procedures defines internal callable values. Placing one inside a pair or vector does not make it portable data. The value interchange contract supplies the concrete encoding for admitted data.

3.1 Keep executable values inside evaluation

A Datum contains only the scalar and aggregate data defined here. Every nested element must also be Datum. A procedure cannot cross the input or result boundary, even inside an aggregate.

Why

A value boundary can be reproduced without carrying code, storage addresses, or host capabilities. Checking nested elements closes the same boundary for a list or vector as for a single value.

Return nested data

lispex.example.v2.values.nested-datum · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      input))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": [
          {
            "kind": "integer",
            "value": "7"
          },
          {
            "kind": "string",
            "value": "orchard"
          },
          {
            "kind": "vector",
            "items": [
              {
                "kind": "boolean",
                "value": true
              },
              {
                "kind": "character",
                "value": "λ"
              }
            ]
          }
        ]
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과(7 "orchard" #(#t #\λ))
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "integer",
        "value": "7"
      },
      {
        "kind": "string",
        "value": "orchard"
      },
      {
        "kind": "vector",
        "items": [
          {
            "kind": "boolean",
            "value": true
          },
          {
            "kind": "character",
            "value": "λ"
          }
        ]
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The result is the same nested list datum with the exact integer, string, Boolean, and character values preserved. Product invocation awaits its 2.0 adapter.

The list contains a vector of portable values. The request notation describes those values and does not define a serialized codec.

Reject an executable element in a result

lispex.example.v2.values.nested-procedure-result · 2판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (list (lambda (value) value))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
진단value.boundary
결과 상세
{
  "kind": "failure",
  "valueCount": 0,
  "diagnostic": {
    "phase": "evaluate",
    "code": "value.boundary",
    "data": {
      "reason": "non-datum",
      "count": "1",
      "path": [
        {
          "kind": "car"
        }
      ],
      "actual": "procedure"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The result boundary rejects the list because it contains a procedure. No result datum is returned. Product invocation awaits its 2.0 adapter.

The outer list cannot hide an executable value. The diagnostic catalog owns the concrete failure code and condition encoding.

Immutable values

Constructing a new value can reuse unchanged data internally. That storage choice does not grant a mutation operation or an observable address. Logical work and allocation remain governed by the resource contract.

3.2 Transform data without changing it

Values cannot be changed after construction. No public aggregate mutation operation is available. A transformation returns a value without changing its input values. Internal sharing follows the event-preservation rule.

Why

Immutable input and result data keep separate evaluations independent. A product can share storage while preserving the language meaning and the resource contract.

Keep the original list after construction

lispex.example.v2.values.preserve-input-list · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (items)
      (list (cons 0 items) items)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "integer",
            "value": "2"
          }
        ]
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과((0 1 2) (1 2))
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "list",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "integer",
            "value": "2"
          }
        ]
      },
      {
        "kind": "list",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "integer",
            "value": "2"
          }
        ]
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The result contains the new list 0, 1, 2 and the unchanged input list 1, 2. Product invocation awaits its 2.0 adapter.

The example checks the value of the original input after a constructor uses it. It makes no claim about physical sharing.

Reject vector mutation

lispex.example.v2.values.vector-mutation-rejected · 3판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (vector-set! input 0 9)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "integer",
            "value": "2"
          }
        ]
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
진단library.reference
결과 상세
{
  "kind": "failure",
  "valueCount": 0,
  "diagnostic": {
    "phase": "resolve",
    "code": "library.reference",
    "data": {
      "name": "vector-set!",
      "reason": "removed-operation"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "dataMutation": false,
  "canonicalOutcomeProduced": false,
  "evaluationReceiptEligible": false
}
제품 실행

예상 결과

The request fails because the public vector mutation operation is unavailable. The input vector is not changed. Product invocation awaits its 2.0 adapter.

The source deliberately uses a removed operation. Its concrete preparation diagnostic belongs to the diagnostic catalog.

Equality

Use eq? and eqv? for scalars. Use equal? for portable data, including aggregate data. None of these operations compares storage addresses or procedure identity.

Scalar equality follows the value of a Boolean, exact number, character, symbol, or empty list. String content is aggregate data even though a string may look like one item in source.

3.3 Compare only scalars with eq? and eqv?

The operands of eq? and eqv? must be scalars. These procedures compare scalar values. An aggregate or procedure operand produces a domain failure even when both operands refer to the same internal value.

Why

Allocation and compiler choices must not change a comparison. Restricting these procedures to scalar values removes observable aggregate and procedure addresses.

Compare scalar values

lispex.example.v2.values.scalar-comparisons · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (list (eq? 7 7)
            (eqv? 'oak 'elm)
            (eq? '() '())
            (eqv? #\λ #\λ)
            (eq? #t #f))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과(#t #f #t #t #f)
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": false
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": false
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The five comparisons return true, false, true, true, and false in order. Product invocation awaits its 2.0 adapter.

The cases cover exact integers, symbols, the empty list, characters, and Booleans. Exact numeric comparisons are developed in the numbers chapter.

Reject aggregate operands for scalar equality

lispex.example.v2.values.aggregate-scalar-comparison · 2판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (choose-string)
      (if choose-string
          (let ((text "oak")) (eq? text text))
          (let ((items (vector 1))) (eqv? items items)))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "input": {
        "kind": "boolean",
        "value": false
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "eq?",
      "operand": "0",
      "path": [],
      "actual": "string"
    }
  }
}
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "eqv?",
      "operand": "0",
      "path": [],
      "actual": "vector"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The first request rejects a string operand to eq?. The second rejects a vector operand to eqv?. Neither request returns a Boolean. Product invocation awaits its 2.0 adapter.

Both operands in each comparison use the same binding. Internal sharing does not make an aggregate a scalar.

3.4 Validate data before returning structural equality

The operands of equal? must be portable data. It compares scalar values and corresponding aggregate contents. Before it returns a Boolean, both operands must be valid Datum values throughout. A procedure inside either operand produces a domain failure. Shared storage cannot bypass that check.

Why

A procedure must not become comparable by wrapping it in a list or sharing that list. Domain validation also prevents a short circuit from hiding an invalid component.

Compare separately constructed lists

lispex.example.v2.values.equal-constructed-data · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (equal? (list 1 "oak") (list 1 "oak"))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과#t
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": true
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The two separately constructed lists compare equal. Product invocation awaits its 2.0 adapter.

The result follows their corresponding contents. It does not depend on whether the product shares their storage.

Reject a procedure inside shared data

lispex.example.v2.values.shared-procedure-data · 2판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((items (list (lambda (value) value))))
        (equal? items items))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "equal?",
      "operand": "0",
      "path": [
        {
          "kind": "car"
        }
      ],
      "actual": "procedure"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The shared list is outside the domain of equal? because it contains a procedure. The request fails without returning a Boolean. Product invocation awaits its 2.0 adapter.

A physical pointer comparison cannot replace the required data-domain check.

Check the whole data domain

lispex.example.v2.values.unequal-prefix-procedure · 2판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (equal? (list 1 (lambda (value) value))
              (list 2 0))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "equal?",
      "operand": "0",
      "path": [
        {
          "kind": "cdr"
        },
        {
          "kind": "car"
        }
      ],
      "actual": "procedure"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The procedure in the first operand causes a domain failure. The unequal first elements do not turn the request into a false result. Product invocation awaits its 2.0 adapter.

The operands must be portable before equal? can report either true or false. The validation-order rule below fixes the first invalid operand and component. The Condition catalog fixes the typed fields. Resource tariffs remain under cost-model-freeze.

3.5 Validate equality operands in a fixed order

The equal? procedure validates the complete left operand before starting validation of the right operand. A failure ends validation at the first invalid component. Validation follows depth-first order with each pair car before its cdr and vector elements in ascending index order. After both operands pass, structural comparison follows that component order. Strings compare scalar positions from first to last and bytevectors compare byte positions from first to last.

Why

Two operands can contain different invalid components. Fixing validation and traversal order gives those requests one first failure. The same order also constrains optimizations and the placement of logical resource events.

Equality validation follows a fixed operand and component order.

Select the first invalid operand

lispex.example.v2.values.first-invalid-operand · 3판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (choice)
      (if (= choice 0)
          (equal? (lambda (value) value)
                  (list (lambda (value) value)))
          (if (= choice 1)
              (equal? (list 0 (lambda (value) value))
                      (lambda (value) value))
              (equal? (list 0 1)
                      (vector 2 (lambda (value) value)))))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "integer",
        "value": "0"
      }
    },
    {
      "input": {
        "kind": "integer",
        "value": "1"
      }
    },
    {
      "input": {
        "kind": "integer",
        "value": "2"
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "equal?",
      "operand": "0",
      "path": [],
      "actual": "procedure"
    }
  }
}
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "equal?",
      "operand": "0",
      "path": [
        {
          "kind": "cdr"
        },
        {
          "kind": "car"
        }
      ],
      "actual": "procedure"
    }
  }
}
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "equal?",
      "operand": "1",
      "path": [
        {
          "kind": "index",
          "index": "1"
        }
      ],
      "actual": "procedure"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "domainValidation": [
    {
      "firstInvalidOperand": "left",
      "componentPath": [],
      "rightValidationStarted": false
    },
    {
      "firstInvalidOperand": "left",
      "componentPath": [
        {
          "kind": "cdr"
        },
        {
          "kind": "car"
        }
      ],
      "rightValidationStarted": false
    },
    {
      "firstInvalidOperand": "right",
      "componentPath": [
        {
          "kind": "index",
          "index": "1"
        }
      ],
      "rightValidationStarted": true
    }
  ]
}
제품 실행

예상 결과

The first request rejects the left procedure. The second rejects the procedure in the second element of the left list. Only the third request reaches validation of the right operand and rejects its second vector element. Product invocation awaits its 2.0 adapter.

Both operands have already been evaluated when equality validates their data domains. An empty component path names the operand itself. The component paths describe the semantic checks and do not assign serialized condition fields or diagnostic codes.

Visit pair and vector components in order

lispex.example.v2.values.first-invalid-component · 3판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (choose-pair)
      (if choose-pair
          (equal? (cons (lambda (value) value)
                        (lambda (value) value))
                  '())
          (equal? (vector (lambda (value) value)
                          (lambda (value) value))
                  '()))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "input": {
        "kind": "boolean",
        "value": false
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "equal?",
      "operand": "0",
      "path": [
        {
          "kind": "car"
        }
      ],
      "actual": "procedure"
    }
  }
}
조건domain.equality
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.equality",
    "data": {
      "operation": "equal?",
      "operand": "0",
      "path": [
        {
          "kind": "index",
          "index": "0"
        }
      ],
      "actual": "procedure"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "domainValidation": [
    {
      "firstInvalidOperand": "left",
      "componentPath": [
        {
          "kind": "car"
        }
      ],
      "rightValidationStarted": false
    },
    {
      "firstInvalidOperand": "left",
      "componentPath": [
        {
          "kind": "index",
          "index": "0"
        }
      ],
      "rightValidationStarted": false
    }
  ]
}
제품 실행

예상 결과

The pair fails at its car before its cdr is visited. The vector fails at element zero before element one is visited. Neither request starts validation of the right operand. Product invocation awaits its 2.0 adapter.

Each left operand contains two procedures. Their distinct component positions expose the chosen visitation order even though both are outside the data domain. Sufficient finite limits are fixed for these checks.

Unicode text

A character is one Unicode scalar value. A string is a finite sequence of those scalar values. A symbol preserves an exact scalar sequence and distinguishes case. Visually similar text can contain different sequences.

The Unicode semantics version belongs to the fixed language meaning. A host locale, operating system, or compiler update cannot select a different transformation. Explicit normalization and case operations require the exact tables and algorithms named by that contract.

3.6 Preserve Unicode scalar sequences

Strings, characters, and symbols preserve their raw Unicode scalar values. Reading or comparing text performs no implicit normalization or case folding. Text transformations use the specification-owned Unicode version and exact operation. Host locale cannot change their meaning.

Why

Unrequested normalization can merge distinct keys or names. Fixing Unicode operations in the language contract keeps host text libraries from choosing a different meaning.

Distinguish exact text sequences

lispex.example.v2.values.raw-text-comparison · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (list (equal? "é" "é")
            (equal? "A" "a")
            (equal? "é" "é"))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과(#f #f #t)
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "boolean",
        "value": false
      },
      {
        "kind": "boolean",
        "value": false
      },
      {
        "kind": "boolean",
        "value": true
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The comparisons return false, false, and true. The composed and decomposed spellings remain different sequences. Product invocation awaits its 2.0 adapter.

The first string uses U+00E9. The second uses U+0065 followed by U+0301. The expected values do not depend on a font or host locale.

3.7 Use the fixed Unicode repertoire

Unicode operations use Unicode 17.0.0 and the operation tables below. Products use these archived data and algorithms. Host locale, operating system, compiler, and text library defaults cannot select another meaning.

The following table fixes the Unicode property operations. Each accepts one character.

ProcedureResult
char-alphabetic?The Alphabetic Boolean
char-numeric?True exactly for General_Category = Nd
char-whitespace?The White_Space Boolean
char-upper-case?The Uppercase Boolean
char-lower-case?The Lowercase Boolean
digit-valueThe exact decimal digit value from zero through nine for Nd, otherwise #f

The complete Unicode transformation repertoire is fixed below. Its signatures belong to the public procedure catalog.

GroupPublic names
Simple character casechar-upcase char-downcase char-foldcase
Full string casestring-upcase string-downcase string-foldcase
Explicit normalizationstring-normalize-nfc string-normalize-nfd string-normalize-nfkc string-normalize-nfkd
Simple folded character comparisonchar-ci=? char-ci<? char-ci>? char-ci<=? char-ci>=?
Full folded string comparisonstring-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?

The data sources are the archived Unicode 17.0.0 files. UAX #44 revision 36 fixes their interpretation and defaults.

DataUse
UnicodeData.txtGeneral category, decimal digits, simple mappings, combining classes, and decompositions
DerivedCoreProperties.txtAlphabetic, Uppercase, Lowercase, Cased, and Case_Ignorable
PropList.txtWhite_Space
SpecialCasing.txtFull case mappings and original-input contexts
CaseFolding.txtSimple and full folding
CompositionExclusions.txt and DerivedNormalizationProps.txtComposition exclusions and normalization properties

Every Unicode scalar is accepted by the appropriate character or string operation. Unassigned, private-use, and noncharacter scalars use the frozen defaults. A later Unicode assignment does not change those defaults. New data, errata, or tailoring require a new language semantics revision. The source grammar defines its own whitespace separately from char-whitespace?.

The call first completes expression evaluation and checks arity. It then checks argument types from left to right. Unicode work starts only after those checks succeed. Type and arity failures are language conditions. Resource exhaustion follows the reservation order. A procedure returns its complete result or the first failure.

The resource event catalog defines these event names, reservation points, and canonical sites. This table selects the events used by each operation.

WorkResource events
Property queries and simple case mappingtext-scalar-scan unicode-map
Full string mappingtext-scalar-scan unicode-map datum-allocate
Normalizationtext-scalar-scan unicode-normalize datum-allocate
Folded comparisonFolding events followed by compare-scalar

Coefficients, allocation units, limits, and physical envelopes remain with the cost model freeze.

A scalar property query or simple case mapping performs one scalar scan and one unicode-map. Its map extent is one. For digit-value, that map reserves the complete exact integer representation and value slot before creating the digit result. A nondecimal input returns #f within the same event. Neither result adds a datum-allocate event. Booleans and characters retain their declared scalar representation requirements.

A completed string mapping or normalization reserves one datum-allocate before materializing its immutable result. Its extent is m, the actual number of output scalars. The complete requirements include the string header, value slot, and space for up to 4 times m UTF-8 octets. They also include encoding work and any temporary storage used for materialization. The extent remains m when input length, decomposition capacity, or UTF-8 octet length differs. Extent zero still reserves an empty string result. Refusal publishes no partial string and refunds no earlier charge.

Why

The same text must produce the same classification and transformation on every product. A fixed repertoire also subjects each operation to the same finite resource contract.

Complete storage and work are assigned to the declared Unicode events. Original scalar counts, generated scalar counts, and typed result sites preserve reservation order across physical representations.

Use the frozen character properties

lispex.example.v2.values.unicode-properties · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (list (char-alphabetic? (integer->char 837))
            (char-numeric? (integer->char 1641))
            (char-numeric? (integer->char 178))
            (digit-value (integer->char 1641))
            (digit-value (integer->char 178))
            (char-whitespace? (integer->char 160))
            (char-upper-case? (integer->char 42958))
            (char-lower-case? (integer->char 42959))
            (char->integer (char-foldcase (integer->char 42958))))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과(#t #t #f 9 #f #t #t #t 42959)
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": false
      },
      {
        "kind": "integer",
        "value": "9"
      },
      {
        "kind": "boolean",
        "value": false
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "integer",
        "value": "42959"
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The properties use the fixed tables. Arabic-Indic nine is a decimal digit and superscript two is not. U+A7CE folds to U+A7CF. Product invocation awaits its 2.0 adapter.

U+0345 exercises Alphabetic beyond letter categories. U+00A0 exercises the White_Space property. U+A7CE and U+A7CF exercise the pinned case table.

근거 자료

Preserve scalars with default mappings

lispex.example.v2.values.unicode-scalar-defaults · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (map (lambda (n)
             (char->integer (char-foldcase (integer->char n))))
           (list 888 57344 64976 1114111))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과(888 57344 64976 1114111)
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "integer",
        "value": "888"
      },
      {
        "kind": "integer",
        "value": "57344"
      },
      {
        "kind": "integer",
        "value": "64976"
      },
      {
        "kind": "integer",
        "value": "1114111"
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

All four scalars retain their values under simple folding. Product invocation awaits its 2.0 adapter.

The inputs are U+0378, U+E000, U+FDD0, and U+10FFFF. They exercise unassigned, private-use, and noncharacter defaults.

근거 자료

Validate every argument before Unicode work

lispex.example.v2.values.unicode-validation-order · 3판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (choice)
      (if (= choice 0)
          (string-upcase #f)
          (if (= choice 1)
              (string-ci=? "z" "a" 7)
              (string-normalize-nfc (car '()))))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "integer",
        "value": "0"
      }
    },
    {
      "input": {
        "kind": "integer",
        "value": "1"
      }
    },
    {
      "input": {
        "kind": "integer",
        "value": "2"
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
조건domain.type
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.type",
    "data": {
      "operation": "string-upcase",
      "argument": "0",
      "path": [],
      "expected": "string",
      "actual": "boolean"
    }
  }
}
조건domain.type
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.type",
    "data": {
      "operation": "string-ci=?",
      "argument": "2",
      "path": [],
      "expected": "string",
      "actual": "integer"
    }
  }
}
조건domain.type
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.type",
    "data": {
      "operation": "car",
      "argument": "0",
      "path": [],
      "expected": "pair",
      "actual": "empty-list"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "unicodeWorkStarted": [
    false,
    false,
    false
  ],
  "invalidArgumentPositions": [
    0,
    2,
    null
  ]
}
제품 실행

예상 결과

The first two requests reject invalid argument types before Unicode work. The third fails while evaluating its argument. A false comparison prefix does not skip argument validation. Product invocation awaits its 2.0 adapter.

All arguments finish evaluation before call validation. Type checks finish before folding, normalization, or comparison begins. Unicode argument positions start at zero. A null position means operand evaluation failed before Unicode argument checks.

근거 자료

3.8 Normalize only through the requested form

The four normalization procedures apply the named Unicode 17.0.0 form. NFC, NFD, NFKC, and NFKD are distinct explicit choices. Reading, equality, case conversion, and case folding do not normalize text implicitly.

Each procedure takes exactly one string and returns a string.

ProcedureUnicode 17.0.0 result
string-normalize-nfcNFC(input)
string-normalize-nfdNFD(input)
string-normalize-nfkcNFKC(input)
string-normalize-nfkdNFKD(input)

Chapter 3 sections 3.11 and 3.12 define the algorithms. UAX #15 revision 57 fixes the normalization conformance requirements. They include canonical ordering, composition exclusions, and Hangul decomposition and composition.

The empty string returns the empty string. A normalization procedure neither changes case nor inserts Stream-Safe separator characters. Long combining sequences keep their specified result and consume the declared resource events. Exhaustion stops the operation before a partial result becomes visible.

After the complete original scalar scan and required end, each normalization call performs one unicode-normalize at argument(0). Its extent is the original scalar count n. D is 4 for NFC and NFD, and 18 for NFKC and NFKD. Its complete requirements cover two scalar buffers, each with capacity D times n, and 256 canonical-combining-class counters. Bound arithmetic, decomposition lookup, ordering, composition, and all intermediate storage belong to this reservation. It succeeds before transformation or scratch materialization starts.

Fully decompose the input under the selected form. Use stable counting order within each maximal nonstarter run. A scalar with combining class zero separates runs. Equal combining classes retain their original order. Compose NFC and NFKC in place under the Unicode blocking, exclusion, and Hangul rules. With decomposed length L and r runs of at least two nonstarters, ordering work has the structural bound O(1 + L + 256r). L is at most D times n and r is at most floor(L / 2). Reserve from n, D, and these upper bounds before decomposition; discovering actual L or r is transformation work. The selected model covers fixed workspace setup and every complete lookup, counter pass, scalar visit, and movement, including their coefficients. It cannot hide a recursive walk, comparison sort, or quadratic insertion pass outside the reservation.

The empty string still has one unicode-normalize with extent zero, followed by one datum-allocate with extent zero. The fixed workspace and empty-result requirements remain part of those reservations.

A completed string mapping or normalization reserves one datum-allocate before materializing its immutable result. Its extent is m, the actual number of output scalars. The complete requirements include the string header, value slot, and space for up to 4 times m UTF-8 octets. They also include encoding work and any temporary storage used for materialization. The extent remains m when input length, decomposition capacity, or UTF-8 octet length differs. Extent zero still reserves an empty string result. Refusal publishes no partial string and refunds no earlier charge.

Why

Canonical and compatibility equivalence answer different questions. Explicit forms preserve the original scalar value until the program requests a transformation.

Complete storage and work are assigned to the declared Unicode events. Original scalar counts, generated scalar counts, and typed result sites preserve reservation order across physical representations.

Choose canonical and compatibility normalization

lispex.example.v2.values.normalization-forms · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (list (string-normalize-nfc "é")
            (string-normalize-nfd "é")
            (string-normalize-nfc "①")
            (string-normalize-nfkc "①")
            (string-normalize-nfkd "fi")
            (string-normalize-nfd "가")
            (string-normalize-nfc "가")
            (string-normalize-nfd "à̕")
            (string-normalize-nfc ""))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과("é" "é" "①" "1" "fi" "가" "가" "à̕" "")
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "string",
        "value": "é"
      },
      {
        "kind": "string",
        "value": "é"
      },
      {
        "kind": "string",
        "value": "①"
      },
      {
        "kind": "string",
        "value": "1"
      },
      {
        "kind": "string",
        "value": "fi"
      },
      {
        "kind": "string",
        "value": "가"
      },
      {
        "kind": "string",
        "value": "가"
      },
      {
        "kind": "string",
        "value": "à̕"
      },
      {
        "kind": "string",
        "value": ""
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The forms produce the stated scalar sequences. Compatibility normalization changes the circled digit and ligature. Canonical normalization preserves the circled digit. Product invocation awaits its 2.0 adapter.

The case includes composition, decomposition, compatibility mapping, Hangul algorithms, combining-class order, and empty input.

근거 자료

3.9 Use default simple and full case algorithms

Character case operations use simple mappings. String case operations use full mappings and the specified original-input contexts. Folding and folded comparisons use the fixed non-Turkic mappings. These operations perform no normalization or locale tailoring.

The unary case operations accept one value of the indicated type.

ProcedureInput and resultMapping
char-upcaseCharacter to characterSimple_Uppercase_Mapping
char-downcaseCharacter to characterSimple_Lowercase_Mapping
char-foldcaseCharacter to characterCaseFolding.txt statuses C and S
string-upcaseString to stringFull Uppercase_Mapping
string-downcaseString to stringFull Lowercase_Mapping
string-foldcaseString to stringCaseFolding.txt statuses C and F

Simple mappings always produce one scalar. A missing mapping returns the input scalar. A product must not truncate a full mapping to implement a character operation.

String case conversion uses Default Case Conversion. It combines UnicodeData.txt with SpecialCasing.txt. It applies unconditional mappings and language-independent conditions, including Final_Sigma. Every context is tested against the original string. Language-tagged mappings are excluded. Case folding excludes status T and uses one pass over the original scalars. The empty string maps to itself.

Comparison namesCompared values
char-ci=? char-ci<? char-ci>? char-ci<=? char-ci>=?Simple-folded scalars
string-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?Full-folded scalar sequences

Each comparison accepts at least two arguments of its own type. After type validation, it folds all arguments from left to right. It then compares adjacent pairs from left to right. For each folded string pair, comparison starts at index zero. At each position, inspect the left sequence and then the right. Decide whether to stop only after both reads. Stop that pair at unequal scalars or an end. The result is true exactly when every pair satisfies the named relation. The first false pair ends comparison. Scalar order is numeric code point order. String order is lexicographic scalar order with the shorter equal prefix first. Comparison does not apply normalization or locale collation.

Let n be the number of original input scalars. Full string mapping first scans all n scalars and the required end. It then maps the original scalars in ascending index order. Each unicode-map has extent n. The first map reserves one scratch buffer with capacity D times n scalars. D is 3 for uppercase, 2 for lowercase, and 3 for folding. That reservation succeeds before either scratch storage or the first mapped scalar is created. Later maps reuse that capacity. They reserve their own mapping work without another scratch allocation. An empty input performs its end scan and result allocation, with no map or mapping scratch reservation.

The map requirement includes exact bound calculation, table lookup, expansion, and retained scalar storage. These counts are mathematical integers. A host word width cannot add a domain limit or change the first failure.

Lowercasing keeps a preceding-cased state while visiting the original scalars. Case_Ignorable scalars leave that state unchanged, including a scalar that is also Cased. Every other original scalar sets the state to its Cased property. A U+03A3 map tests the state before that scalar updates it. If the state is true, inspect the original suffix in ascending index order. Skip Case_Ignorable before testing Cased. The first remaining scalar, or the required end, determines whether a following cased scalar exists. Final_Sigma selects U+03C2 exactly when the preceding state is true and no such following cased scalar exists. Otherwise U+03A3 maps to U+03C3.

The current map includes the preceding-state work and every required suffix visit in its complete requirements. At most n original scalars are visited for that map's context work. These visits create no additional text-scalar-scan events. Earlier mapped results never supply context.

All argument domain checks finish before folding or replacing any retained argument. Fold each argument in ascending argument order. Retain its completed folded value in the same logical operand-sequence position already reserved for that call. A character replacement belongs to its unicode-map. A string replacement belongs to its completed result allocation. This replacement changes no caller binding or immutable input value. It adds no argument-store or traversal-state event and requires no separate descriptor sequence. Every folded value remains available until comparison finishes or the call fails. Repeated references to the same input still perform each argument's full folding schedule and result reservation.

For a unary string transformation, the result allocation site is result(0). For a folded string comparison, the folded result of argument i is allocated at result(i) of the invoking comparison call. The site role is datum-allocate. All scans and maps continue to select the original argument(i) and its scalar positions.

After all folding and retention, each folded character pair performs one compare-scalar. For strings, each visited position performs one compare-scalar. Reserve before reading the left scalar or end, then the right scalar or end at that same position. Both reads belong to that event, including when the left sequence has ended. Only after both reads does the pair stop at unequal scalars or an end. No additional text-scalar-scan accompanies these folded reads. String comparison sites use field(compare), argument(i), scalar(j), where i is the left argument of the adjacent pair and j starts at zero for each pair. Character comparison selects field(compare), argument(i). The first false pair ends comparison after every argument has already been folded.

Why

Full mappings preserve expansions needed for string matching. Simple character mappings preserve the character result domain. Fixed context and folding rules reproduce these choices without host locale state.

Complete storage and work are assigned to the declared Unicode events. Original scalar counts, generated scalar counts, and typed result sites preserve reservation order across physical representations.

Preserve full expansions and original context

lispex.example.v2.values.case-algorithm-results · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (list (string-upcase "Straße")
            (string-downcase "ΟΣ")
            (string-downcase "ΟΣΑ")
            (string-foldcase "ςΣ")
            (string-downcase "İI")
            (string-foldcase "Iİı")
            (char->integer (char-upcase (integer->char 223)))
            (char->integer (char-downcase (integer->char 304)))
            (char->integer (char-foldcase (integer->char 304)))
            (string-foldcase ""))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과("STRASSE" "ος" "οσα" "σσ" "i̇i" "ii̇ı" 223 105 304 "")
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "string",
        "value": "STRASSE"
      },
      {
        "kind": "string",
        "value": "ος"
      },
      {
        "kind": "string",
        "value": "οσα"
      },
      {
        "kind": "string",
        "value": "σσ"
      },
      {
        "kind": "string",
        "value": "i̇i"
      },
      {
        "kind": "string",
        "value": "ii̇ı"
      },
      {
        "kind": "integer",
        "value": "223"
      },
      {
        "kind": "integer",
        "value": "105"
      },
      {
        "kind": "integer",
        "value": "304"
      },
      {
        "kind": "string",
        "value": ""
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

String casing expands sharp s and applies final sigma in its original context. Dotted I retains its default full mapping. Character mappings return one scalar. Product invocation awaits its 2.0 adapter.

The sharp-s character has no simple uppercase mapping. Its character result stays U+00DF while string uppercase expands to two letters. Default folding does not select Turkic mappings.

근거 자료

Compare explicitly folded scalar sequences

lispex.example.v2.values.folded-comparisons · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (list (string-ci=? "Straße" "STRASSE")
            (string-ci=? "é" "é")
            (string-ci=? "İ" "i̇")
            (char-ci=? (integer->char 304) (integer->char 105))
            (char-ci=? (integer->char 931) (integer->char 962))
            (string-ci<? "a" "AA" "b")
            (string-ci>=? "B" "b" "A")
            (char-ci<=? (integer->char 65) (integer->char 97)))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "list",
        "items": []
      }
    }
  ],
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과(#t #f #t #f #t #t #t #t)
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": false
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": false
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": true
      },
      {
        "kind": "boolean",
        "value": true
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

Full and simple folding produce their specified equality and order results. Canonically equivalent spellings stay unequal without explicit normalization. Product invocation awaits its 2.0 adapter.

String comparisons use full folds and scalar lexicographic order. Character comparisons use simple folds. The two dotted-I comparisons demonstrate the difference.

근거 자료

Decimal digit result reservations

lispex.example.v2.values.unicode-scalar-result-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((result
              (digit-value input)))
        result)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "arabic-indic-nine",
      "input": {
        "kind": "character",
        "value": "٩"
      }
    },
    {
      "case": "ascii-zero",
      "input": {
        "kind": "character",
        "value": "0"
      }
    },
    {
      "case": "superscript-is-not-decimal",
      "input": {
        "kind": "character",
        "value": "²"
      }
    },
    {
      "case": "digit-map-allocation-stop",
      "input": {
        "kind": "character",
        "value": "٩"
      },
      "resourceBoundary": {
        "event": "unicode-map",
        "fixtureSite": "digit-call",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through every preceding event in the selected call trace",
        "selectedReservation": "insufficient remaining allocation for the complete digit-value map, including its exact integer and value slot",
        "otherAxes": "sufficient"
      }
    }
  ],
  "fixtureSites": {
    "digit-call": "The digit-value call in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · digit-value
arabic-indic-nine · #\٩
digit-value · arabic-indic-nine
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"digit-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"digit-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"digit-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"digit-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"digit-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"digit-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
7call-returncall{"fixtureSite":"digit-call","role":"call-return","path":[]}null
결과9
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "integer",
    "value": "9"
  }
}
추적 상세 1
{
  "case": "arabic-indic-nine",
  "operation": "digit-value",
  "arguments": [
    {
      "kind": "character",
      "value": "٩"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "digit-value"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "digit-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "C"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "digit-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0669"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "digit-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "digit-value",
          "scalar": "U+0669",
          "inputScalarCount": "1",
          "query": "decimal-digit-value-or-false",
          "resultShape": "exact integer zero through nine for Nd, otherwise Boolean",
          "integerStorage": "complete exact integer and value slot within this map reservation"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "digit-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "integer",
      "value": "9"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · digit-value
ascii-zero · #\0
digit-value · ascii-zero
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"digit-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"digit-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"digit-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"digit-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"digit-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"digit-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
7call-returncall{"fixtureSite":"digit-call","role":"call-return","path":[]}null
결과0
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "integer",
    "value": "0"
  }
}
추적 상세 2
{
  "case": "ascii-zero",
  "operation": "digit-value",
  "arguments": [
    {
      "kind": "character",
      "value": "0"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "digit-value"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "digit-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "C"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "digit-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0030"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "digit-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "digit-value",
          "scalar": "U+0030",
          "inputScalarCount": "1",
          "query": "decimal-digit-value-or-false",
          "resultShape": "exact integer zero through nine for Nd, otherwise Boolean",
          "integerStorage": "complete exact integer and value slot within this map reservation"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "digit-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "integer",
      "value": "0"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · digit-value
superscript-is-not-decimal · #\²
digit-value · superscript-is-not-decimal
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"digit-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"digit-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"digit-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"digit-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"digit-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"digit-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
7call-returncall{"fixtureSite":"digit-call","role":"call-return","path":[]}null
결과#f
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": false
  }
}
추적 상세 3
{
  "case": "superscript-is-not-decimal",
  "operation": "digit-value",
  "arguments": [
    {
      "kind": "character",
      "value": "²"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "digit-value"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "digit-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "C"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "digit-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00B2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "digit-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "digit-value",
          "scalar": "U+00B2",
          "inputScalarCount": "1",
          "query": "decimal-digit-value-or-false",
          "resultShape": "exact integer zero through nine for Nd, otherwise Boolean",
          "integerStorage": "complete exact integer and value slot within this map reservation"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "digit-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": false
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · digit-value
digit-map-allocation-stop · #\٩
digit-value · digit-map-allocation-stop
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"digit-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"digit-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"digit-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"digit-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"digit-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"digit-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "digit-value",
  "event": "unicode-map",
  "site": {
    "fixtureSite": "digit-call",
    "role": "unicode-map",
    "path": [
      {
        "kind": "argument",
        "index": "0"
      },
      {
        "kind": "field",
        "name": "map"
      },
      {
        "kind": "scalar",
        "index": "0"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 4
{
  "case": "digit-map-allocation-stop",
  "operation": "digit-value",
  "arguments": [
    {
      "kind": "character",
      "value": "٩"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "digit-value"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "digit-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "digit-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "C"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "digit-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0669"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "digit-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "digit-value",
          "scalar": "U+0669",
          "inputScalarCount": "1",
          "query": "decimal-digit-value-or-false",
          "resultShape": "exact integer zero through nine for Nd, otherwise Boolean",
          "integerStorage": "complete exact integer and value slot within this map reservation"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "digit-value",
    "event": "unicode-map",
    "site": {
      "fixtureSite": "digit-call",
      "role": "unicode-map",
      "path": [
        {
          "kind": "argument",
          "index": "0"
        },
        {
          "kind": "field",
          "name": "map"
        },
        {
          "kind": "scalar",
          "index": "0"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "integer",
        "value": "9"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "integer",
        "value": "0"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": false
      }
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "digit-value",
      "event": "unicode-map",
      "site": {
        "fixtureSite": "digit-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    }
  ]
}
제품 실행

예상 결과

A digit result is created within the scalar map reservation. Decimal zero and nine use exact integers. Superscript two returns false. A refused map creates no integer or retained value slot. Product invocation awaits its 2.0 adapter.

A digit result is created within the scalar map reservation. Decimal zero and nine use exact integers. Superscript two returns false. A refused map creates no integer or retained value slot.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

arabic-indic-nine uses digit-value at digit-call.

UnicodeData U+0669 has General_Category Nd and Decimal_Digit_Value 9. One scan and one map return the exact integer 9. The map reserves its complete integer representation and value slot before either is created.

Arguments: [{"kind":"character","value":"٩"}].

Mapping and context calculation: {"generalCategory":"Nd","decimalDigitValue":"9"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"digit-value"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"C"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0669"}accepted
6unicode-mapargument(0), field(map), scalar(0)1{"operation":"digit-value","scalar":"U+0669","inputScalarCount":"1","query":"decimal-digit-value-or-false","resultShape":"exact integer zero through nine for Nd, otherwise Boolean","integerStorage":"complete exact integer and value slot within this map reservation"}accepted
7call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"integer","value":"9"}}.

ascii-zero uses digit-value at digit-call.

UnicodeData U+0030 has General_Category Nd and Decimal_Digit_Value 0. Zero is an exact integer result. It uses the same scalar map event and its complete storage reservation.

Arguments: [{"kind":"character","value":"0"}].

Mapping and context calculation: {"generalCategory":"Nd","decimalDigitValue":"0"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"digit-value"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"C"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0030"}accepted
6unicode-mapargument(0), field(map), scalar(0)1{"operation":"digit-value","scalar":"U+0030","inputScalarCount":"1","query":"decimal-digit-value-or-false","resultShape":"exact integer zero through nine for Nd, otherwise Boolean","integerStorage":"complete exact integer and value slot within this map reservation"}accepted
7call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"integer","value":"0"}}.

superscript-is-not-decimal uses digit-value at digit-call.

UnicodeData U+00B2 has General_Category No and no decimal digit value. Its Numeric_Value 2 does not satisfy Nd. The map returns the predefined Boolean false and adds no datum-allocate event.

Arguments: [{"kind":"character","value":"²"}].

Mapping and context calculation: {"generalCategory":"No","decimalDigitValue":null}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"digit-value"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"C"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+00B2"}accepted
6unicode-mapargument(0), field(map), scalar(0)1{"operation":"digit-value","scalar":"U+00B2","inputScalarCount":"1","query":"decimal-digit-value-or-false","resultShape":"exact integer zero through nine for Nd, otherwise Boolean","integerStorage":"complete exact integer and value slot within this map reservation"}accepted
7call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":false}}.

digit-map-allocation-stop uses digit-value at digit-call.

The U+0669 map is the first refused event. The scan succeeds. The map has extent one and reserves both the exact integer and its value slot. Refusal creates neither and ends the call before call-return.

Arguments: [{"kind":"character","value":"٩"}].

Mapping and context calculation: {"generalCategory":"Nd","decimalDigitValue":"9"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"digit-value"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"C"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0669"}accepted
6unicode-mapargument(0), field(map), scalar(0)1{"operation":"digit-value","scalar":"U+0669","inputScalarCount":"1","query":"decimal-digit-value-or-false","resultShape":"exact integer zero through nine for Nd, otherwise Boolean","integerStorage":"complete exact integer and value slot within this map reservation"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"digit-value","event":"unicode-map","site":{"fixtureSite":"digit-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

근거 자료

Full mapping scratch reservations

lispex.example.v2.values.unicode-mapping-scratch-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((result
              (if (= (vector-ref input 0) 0)
                  (string-upcase (vector-ref input 1))
                  (if (= (vector-ref input 0) 1)
                      (string-downcase (vector-ref input 1))
                      (string-foldcase (vector-ref input 1))))))
        result)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "upper-expansion-then-scalar",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": "ßa"
          }
        ]
      }
    },
    {
      "case": "lower-dotted-i-expansion",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "İA"
          }
        ]
      }
    },
    {
      "case": "fold-two-expansions",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "2"
          },
          {
            "kind": "string",
            "value": "ßİ"
          }
        ]
      }
    },
    {
      "case": "upper-three-scalar-bound",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": "ffi"
          }
        ]
      }
    },
    {
      "case": "fold-three-scalar-bound",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "2"
          },
          {
            "kind": "string",
            "value": "ffi"
          }
        ]
      }
    },
    {
      "case": "empty-fold",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "2"
          },
          {
            "kind": "string",
            "value": ""
          }
        ]
      }
    },
    {
      "case": "first-map-scratch-stop",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": "ßa"
          }
        ]
      },
      "resourceBoundary": {
        "event": "unicode-map",
        "fixtureSite": "upcase-call",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through every preceding event in the selected call trace",
        "selectedReservation": "insufficient remaining allocation for the first map complete requirements, including the single D*n scratch buffer; no map effect or scratch creation occurs",
        "otherAxes": "sufficient"
      }
    },
    {
      "case": "mapped-result-stop",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "İA"
          }
        ]
      },
      "resourceBoundary": {
        "event": "datum-allocate",
        "fixtureSite": "downcase-call",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through every preceding event in the selected call trace",
        "selectedReservation": "insufficient remaining allocation for the complete result string; all prior maps remain charged and no result is exposed",
        "otherAxes": "sufficient"
      }
    }
  ],
  "fixtureSites": {
    "upcase-call": "The string-upcase call in the result initializer.",
    "downcase-call": "The string-downcase call in the result initializer.",
    "foldcase-call": "The string-foldcase call in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · string-upcase
upper-expansion-then-scalar · "ßa"
string-upcase · upper-expansion-then-scalar
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"upcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"upcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"upcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"upcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"upcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
9unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"upcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
10datum-allocateresult(0){"fixtureSite":"upcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
11call-returncall{"fixtureSite":"upcase-call","role":"call-return","path":[]}null
결과"SSA"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "SSA"
  }
}
추적 상세 1
{
  "case": "upper-expansion-then-scalar",
  "operation": "string-upcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ßa"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-upcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-upcase",
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-upcase",
          "scalar": "U+0061",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+0053",
            "U+0053",
            "U+0041"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "SSA"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-downcase
lower-dotted-i-expansion · "İA"
string-downcase · lower-dotted-i-expansion
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
9unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
10datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
11call-returncall{"fixtureSite":"downcase-call","role":"call-return","path":[]}null
결과"i̇a"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "i̇a"
  }
}
추적 상세 2
{
  "case": "lower-dotted-i-expansion",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "İA"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": true,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0041",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": false,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+0069",
            "U+0307",
            "U+0061"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "i̇a"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-foldcase
fold-two-expansions · "ßİ"
string-foldcase · fold-two-expansions
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"foldcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"foldcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"foldcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"foldcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"foldcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"foldcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"foldcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"foldcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
9unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"foldcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
10datum-allocateresult(0){"fixtureSite":"foldcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}4
11call-returncall{"fixtureSite":"foldcase-call","role":"call-return","path":[]}null
결과"ssi̇"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "ssi̇"
  }
}
추적 상세 3
{
  "case": "fold-two-expansions",
  "operation": "string-foldcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ßİ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-foldcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-foldcase",
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-foldcase",
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+0073",
            "U+0073",
            "U+0069",
            "U+0307"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "ssi̇"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-upcase
upper-three-scalar-bound · "ffi"
string-upcase · upper-three-scalar-bound
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"upcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"upcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"upcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"upcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"upcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"upcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
9call-returncall{"fixtureSite":"upcase-call","role":"call-return","path":[]}null
결과"FFI"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "FFI"
  }
}
추적 상세 4
{
  "case": "upper-three-scalar-bound",
  "operation": "string-upcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ffi"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-upcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+FB03"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-upcase",
          "scalar": "U+FB03",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+0046",
            "U+0046",
            "U+0049"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "FFI"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-foldcase
fold-three-scalar-bound · "ffi"
string-foldcase · fold-three-scalar-bound
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"foldcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"foldcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"foldcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"foldcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"foldcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"foldcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"foldcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"foldcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
9call-returncall{"fixtureSite":"foldcase-call","role":"call-return","path":[]}null
결과"ffi"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "ffi"
  }
}
추적 상세 5
{
  "case": "fold-three-scalar-bound",
  "operation": "string-foldcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ffi"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-foldcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+FB03"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-foldcase",
          "scalar": "U+FB03",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+0066",
            "U+0066",
            "U+0069"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "ffi"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-foldcase
empty-fold · ""
string-foldcase · empty-fold
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"foldcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"foldcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"foldcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"foldcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"foldcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6datum-allocateresult(0){"fixtureSite":"foldcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}0
7call-returncall{"fixtureSite":"foldcase-call","role":"call-return","path":[]}null
결과""
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": ""
  }
}
추적 상세 6
{
  "case": "empty-fold",
  "operation": "string-foldcase",
  "arguments": [
    {
      "kind": "string",
      "value": ""
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-foldcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "foldcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": ""
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-upcase
first-map-scratch-stop · "ßa"
string-upcase · first-map-scratch-stop
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"upcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"upcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"upcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"upcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"upcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"upcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "string-upcase",
  "event": "unicode-map",
  "site": {
    "fixtureSite": "upcase-call",
    "role": "unicode-map",
    "path": [
      {
        "kind": "argument",
        "index": "0"
      },
      {
        "kind": "field",
        "name": "map"
      },
      {
        "kind": "scalar",
        "index": "0"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 7
{
  "case": "first-map-scratch-stop",
  "operation": "string-upcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ßa"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-upcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-upcase",
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "string-upcase",
    "event": "unicode-map",
    "site": {
      "fixtureSite": "upcase-call",
      "role": "unicode-map",
      "path": [
        {
          "kind": "argument",
          "index": "0"
        },
        {
          "kind": "field",
          "name": "map"
        },
        {
          "kind": "scalar",
          "index": "0"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-downcase
mapped-result-stop · "İA"
string-downcase · mapped-result-stop
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
9unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
10datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "string-downcase",
  "event": "datum-allocate",
  "site": {
    "fixtureSite": "downcase-call",
    "role": "datum-allocate",
    "path": [
      {
        "kind": "result",
        "index": "0"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 8
{
  "case": "mapped-result-stop",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "İA"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": true,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0041",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": false,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+0069",
            "U+0307",
            "U+0061"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "string-downcase",
    "event": "datum-allocate",
    "site": {
      "fixtureSite": "downcase-call",
      "role": "datum-allocate",
      "path": [
        {
          "kind": "result",
          "index": "0"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "SSA"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "i̇a"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "ssi̇"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "FFI"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "ffi"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": ""
      }
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "string-upcase",
      "event": "unicode-map",
      "site": {
        "fixtureSite": "upcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "string-downcase",
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    }
  ]
}
제품 실행

예상 결과

The first scalar map reserves the full expansion scratch after the original scan. Uppercase, lowercase, and folding use their distinct bounds. Empty input has no map. Scratch and result refusals stop at their separate events. Product invocation awaits its 2.0 adapter.

The first scalar map reserves the full expansion scratch after the original scan. Uppercase, lowercase, and folding use their distinct bounds. Empty input has no map. Scratch and result refusals stop at their separate events.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

upper-expansion-then-scalar uses string-upcase at upcase-call.

SpecialCasing maps U+00DF to U+0053 U+0053; UnicodeData maps U+0061 to U+0041. n=2, D=3, so the first map reserves one capacity-six scratch buffer. The second map reuses it. The output has m=3 scalars.

Arguments: [{"kind":"string","value":"ßa"}].

Mapping and context calculation: {"originalScalars":["U+00DF","U+0061"],"n":"2","D":"3","scratchScalarCapacity":"6","perOriginalScalarMappings":[["U+0053","U+0053"],["U+0041"]],"outputScalars":["U+0053","U+0053","U+0041"],"m":"3","resultUtf8OctetCapacityBound":"12"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-upcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0061"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
8unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-upcase","scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
9unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-upcase","scalar":"U+0061","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
10datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+0053","U+0053","U+0041"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"SSA"}}.

lower-dotted-i-expansion uses string-downcase at downcase-call.

The unconditional SpecialCasing mapping for U+0130 is U+0069 U+0307. Language-tagged alternatives are excluded. UnicodeData maps U+0041 to U+0061. n=2, D=2, scratch capacity=4, m=3.

Arguments: [{"kind":"string","value":"İA"}].

Mapping and context calculation: {"originalScalars":["U+0130","U+0041"],"n":"2","D":"2","scratchScalarCapacity":"4","perOriginalScalarMappings":[["U+0069","U+0307"],["U+0061"]],"outputScalars":["U+0069","U+0307","U+0061"],"m":"3","resultUtf8OctetCapacityBound":"12"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0130"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0041"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
8unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-downcase","scalar":"U+0130","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":true,"contextScalarVisitBound":"2"}accepted
9unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-downcase","scalar":"U+0041","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":false,"contextScalarVisitBound":"2"}accepted
10datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+0069","U+0307","U+0061"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"i̇a"}}.

fold-two-expansions uses string-foldcase at foldcase-call.

CaseFolding status F maps U+00DF to U+0073 U+0073 and U+0130 to U+0069 U+0307. The status T mapping of U+0130 is excluded. n=2, D=3, scratch capacity=6, m=4.

Arguments: [{"kind":"string","value":"ßİ"}].

Mapping and context calculation: {"originalScalars":["U+00DF","U+0130"],"n":"2","D":"3","scratchScalarCapacity":"6","perOriginalScalarMappings":[["U+0073","U+0073"],["U+0069","U+0307"]],"outputScalars":["U+0073","U+0073","U+0069","U+0307"],"m":"4","resultUtf8OctetCapacityBound":"16"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-foldcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0130"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
8unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-foldcase","scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
9unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-foldcase","scalar":"U+0130","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
10datum-allocateresult(0)4{"shape":"string","outputScalarCount":"4","outputScalars":["U+0073","U+0073","U+0069","U+0307"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"ssi̇"}}.

upper-three-scalar-bound uses string-upcase at upcase-call.

SpecialCasing U+FB03 has full uppercase U+0046 U+0046 U+0049. One original scalar fills the D=3 scratch bound exactly. n=1 and m=3; the result extent is three while the UTF-8 capacity bound is twelve.

Arguments: [{"kind":"string","value":"ffi"}].

Mapping and context calculation: {"originalScalars":["U+FB03"],"n":"1","D":"3","scratchScalarCapacity":"3","perOriginalScalarMappings":[["U+0046","U+0046","U+0049"]],"outputScalars":["U+0046","U+0046","U+0049"],"m":"3","resultUtf8OctetCapacityBound":"12"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-upcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+FB03"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
7unicode-mapargument(0), field(map), scalar(0)1{"operation":"string-upcase","scalar":"U+FB03","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
8datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+0046","U+0046","U+0049"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"FFI"}}.

fold-three-scalar-bound uses string-foldcase at foldcase-call.

CaseFolding status F maps U+FB03 to U+0066 U+0066 U+0069. One original scalar fills the D=3 fold scratch bound exactly. The resulting m=3 scalars use their separate result reservation.

Arguments: [{"kind":"string","value":"ffi"}].

Mapping and context calculation: {"originalScalars":["U+FB03"],"n":"1","D":"3","scratchScalarCapacity":"3","perOriginalScalarMappings":[["U+0066","U+0066","U+0069"]],"outputScalars":["U+0066","U+0066","U+0069"],"m":"3","resultUtf8OctetCapacityBound":"12"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-foldcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+FB03"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
7unicode-mapargument(0), field(map), scalar(0)1{"operation":"string-foldcase","scalar":"U+FB03","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
8datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+0066","U+0066","U+0069"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"ffi"}}.

empty-fold uses string-foldcase at foldcase-call.

The original scan visits the required end at scalar index zero. There is no original scalar and therefore no map or mapping scratch reservation. One result allocation has extent zero and still reserves the complete empty string.

Arguments: [{"kind":"string","value":""}].

Mapping and context calculation: {"originalScalars":[],"n":"0","D":"3","scratchScalarCapacity":"0","perOriginalScalarMappings":[],"outputScalars":[],"m":"0","resultUtf8OctetCapacityBound":"0"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-foldcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"requiredEnd":"0","inputScalarCount":"0"}accepted
6datum-allocateresult(0)0{"shape":"string","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
7call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":""}}.

first-map-scratch-stop uses string-upcase at upcase-call.

Both input scalars and the required end are scanned first. The first map has extent n=2 and includes D*n=6 scratch scalar positions in its complete requirements. Its allocation refusal stops before any mapping or scratch creation; there is no second map or result allocation.

Arguments: [{"kind":"string","value":"ßa"}].

Mapping and context calculation: {"originalScalars":["U+00DF","U+0061"],"n":"2","D":"3","scratchScalarCapacity":"6","perOriginalScalarMappings":[["U+0053","U+0053"],["U+0041"]],"outputScalars":["U+0053","U+0053","U+0041"],"m":"3","resultUtf8OctetCapacityBound":"12"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-upcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0061"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
8unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-upcase","scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"string-upcase","event":"unicode-map","site":{"fixtureSite":"upcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

mapped-result-stop uses string-downcase at downcase-call.

Both maps succeed in the reserved capacity-four scratch buffer. The result contains three scalars, so its refused allocation has extent m=3, with UTF-8 capacity bound twelve in its complete requirements. The refusal exposes no partial string and refunds no prior charge.

Arguments: [{"kind":"string","value":"İA"}].

Mapping and context calculation: {"originalScalars":["U+0130","U+0041"],"n":"2","D":"2","scratchScalarCapacity":"4","perOriginalScalarMappings":[["U+0069","U+0307"],["U+0061"]],"outputScalars":["U+0069","U+0307","U+0061"],"m":"3","resultUtf8OctetCapacityBound":"12"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0130"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0041"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
8unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-downcase","scalar":"U+0130","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":true,"contextScalarVisitBound":"2"}accepted
9unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-downcase","scalar":"U+0041","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":false,"contextScalarVisitBound":"2"}accepted
10datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+0069","U+0307","U+0061"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"string-downcase","event":"datum-allocate","site":{"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

근거 자료

Original Final_Sigma context reservations

lispex.example.v2.values.unicode-context-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((result
              (string-downcase input)))
        result)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "final-sigma-at-end",
      "input": {
        "kind": "string",
        "value": "ΟΣ"
      }
    },
    {
      "case": "following-cased-prevents-final-sigma",
      "input": {
        "kind": "string",
        "value": "ΟΣΑ"
      }
    },
    {
      "case": "ignorable-on-both-sides",
      "input": {
        "kind": "string",
        "value": "ΌΣ́"
      }
    },
    {
      "case": "cased-after-ignorable-prevents-final-sigma",
      "input": {
        "kind": "string",
        "value": "ΟΣ́Α"
      }
    },
    {
      "case": "overlapping-property-is-no-preceding-witness",
      "input": {
        "kind": "string",
        "value": "ͅΣ"
      }
    },
    {
      "case": "overlapping-property-is-skipped-in-suffix",
      "input": {
        "kind": "string",
        "value": "AΣͅ"
      }
    }
  ],
  "fixtureSites": {
    "downcase-call": "The string-downcase call in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · string-downcase
final-sigma-at-end · "ΟΣ"
string-downcase · final-sigma-at-end
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
9unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
10datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}2
11call-returncall{"fixtureSite":"downcase-call","role":"call-return","path":[]}null
결과"ος"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "ος"
  }
}
추적 상세 1
{
  "case": "final-sigma-at-end",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ΟΣ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+039F"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+03A3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+039F",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": true,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+03A3",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": false,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+03BF",
            "U+03C2"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "ος"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-downcase
following-cased-prevents-final-sigma · "ΟΣΑ"
string-downcase · following-cased-prevents-final-sigma
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8text-scalar-scanargument(0) field(scan) scalar(3){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"3"}]}null
9unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}3
10unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}3
11unicode-mapargument(0) field(map) scalar(2){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"2"}]}3
12datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
13call-returncall{"fixtureSite":"downcase-call","role":"call-return","path":[]}null
결과"οσα"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "οσα"
  }
}
추적 상세 2
{
  "case": "following-cased-prevents-final-sigma",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ΟΣΑ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+039F"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+03A3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0391"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "3",
          "inputScalarCount": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+039F",
          "inputScalarCount": "3",
          "mappingBound": "2",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+03A3",
          "inputScalarCount": "3",
          "mappingBound": "2",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0391",
          "inputScalarCount": "3",
          "mappingBound": "2",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+03BF",
            "U+03C3",
            "U+03B1"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "οσα"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-downcase
ignorable-on-both-sides · "ΌΣ́"
string-downcase · ignorable-on-both-sides
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8text-scalar-scanargument(0) field(scan) scalar(3){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"3"}]}null
9text-scalar-scanargument(0) field(scan) scalar(4){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"4"}]}null
10unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}4
11unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}4
12unicode-mapargument(0) field(map) scalar(2){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"2"}]}4
13unicode-mapargument(0) field(map) scalar(3){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"3"}]}4
14datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}4
15call-returncall{"fixtureSite":"downcase-call","role":"call-return","path":[]}null
결과"ός́"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "ός́"
  }
}
추적 상세 3
{
  "case": "ignorable-on-both-sides",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ΌΣ́"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+039F"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+03A3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "4"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "4",
          "inputScalarCount": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+039F",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": true,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0301",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": false,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+03A3",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": false,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0301",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": false,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+03BF",
            "U+0301",
            "U+03C2",
            "U+0301"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "ός́"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-downcase
cased-after-ignorable-prevents-final-sigma · "ΟΣ́Α"
string-downcase · cased-after-ignorable-prevents-final-sigma
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8text-scalar-scanargument(0) field(scan) scalar(3){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"3"}]}null
9text-scalar-scanargument(0) field(scan) scalar(4){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"4"}]}null
10unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}4
11unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}4
12unicode-mapargument(0) field(map) scalar(2){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"2"}]}4
13unicode-mapargument(0) field(map) scalar(3){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"3"}]}4
14datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}4
15call-returncall{"fixtureSite":"downcase-call","role":"call-return","path":[]}null
결과"οσ́α"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "οσ́α"
  }
}
추적 상세 4
{
  "case": "cased-after-ignorable-prevents-final-sigma",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ΟΣ́Α"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+039F"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+03A3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0391"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "4"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "4",
          "inputScalarCount": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+039F",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": true,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+03A3",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": false,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0301",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": false,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0391",
          "inputScalarCount": "4",
          "mappingBound": "2",
          "scratchScalarCapacity": "8",
          "reserveScratch": false,
          "contextScalarVisitBound": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+03BF",
            "U+03C3",
            "U+0301",
            "U+03B1"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "οσ́α"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-downcase
overlapping-property-is-no-preceding-witness · "ͅΣ"
string-downcase · overlapping-property-is-no-preceding-witness
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
9unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
10datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}2
11call-returncall{"fixtureSite":"downcase-call","role":"call-return","path":[]}null
결과"ͅσ"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "ͅσ"
  }
}
추적 상세 5
{
  "case": "overlapping-property-is-no-preceding-witness",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "ͅΣ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0345"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+03A3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0345",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": true,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+03A3",
          "inputScalarCount": "2",
          "mappingBound": "2",
          "scratchScalarCapacity": "4",
          "reserveScratch": false,
          "contextScalarVisitBound": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+0345",
            "U+03C3"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "ͅσ"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-downcase
overlapping-property-is-skipped-in-suffix · "AΣͅ"
string-downcase · overlapping-property-is-skipped-in-suffix
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"downcase-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"downcase-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"downcase-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"downcase-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8text-scalar-scanargument(0) field(scan) scalar(3){"fixtureSite":"downcase-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"3"}]}null
9unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}3
10unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}3
11unicode-mapargument(0) field(map) scalar(2){"fixtureSite":"downcase-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"2"}]}3
12datum-allocateresult(0){"fixtureSite":"downcase-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
13call-returncall{"fixtureSite":"downcase-call","role":"call-return","path":[]}null
결과"aςͅ"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "aςͅ"
  }
}
추적 상세 6
{
  "case": "overlapping-property-is-skipped-in-suffix",
  "operation": "string-downcase",
  "arguments": [
    {
      "kind": "string",
      "value": "AΣͅ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-downcase"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+03A3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0345"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "3",
          "inputScalarCount": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0041",
          "inputScalarCount": "3",
          "mappingBound": "2",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+03A3",
          "inputScalarCount": "3",
          "mappingBound": "2",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "operation": "string-downcase",
          "scalar": "U+0345",
          "inputScalarCount": "3",
          "mappingBound": "2",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+0061",
            "U+03C2",
            "U+0345"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "downcase-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "aςͅ"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "ος"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "οσα"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "ός́"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "οσ́α"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "ͅσ"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "aςͅ"
      }
    }
  ]
}
제품 실행

예상 결과

Final_Sigma reads original context within its map requirements. Following cased letters and Case_Ignorable scalars determine the result. Overlapping Cased and Case_Ignorable properties preserve the ignorable-first rule. Product invocation awaits its 2.0 adapter.

Final_Sigma reads original context within its map requirements. Following cased letters and Case_Ignorable scalars determine the result. Overlapping Cased and Case_Ignorable properties preserve the ignorable-first rule.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

final-sigma-at-end uses string-downcase at downcase-call.

U+039F is a preceding Cased scalar. U+03A3 has no following scalar, so Final_Sigma applies and returns U+03C2. U+039F lowers to U+03BF. All context comes from the original two-scalar string.

Arguments: [{"kind":"string","value":"ΟΣ"}].

Mapping and context calculation: {"originalScalars":["U+039F","U+03A3"],"n":"2","D":"2","scratchScalarCapacity":"4","perOriginalScalarMappings":[["U+03BF"],["U+03C2"]],"outputScalars":["U+03BF","U+03C2"],"m":"2","resultUtf8OctetCapacityBound":"8","originalContextEvaluation":[{"sigmaIndex":"1","precedingCased":true,"precedingWitness":"0","ignoredPrecedingIndices":[],"followingScalarVisits":[],"followingRequiredEnd":"2","followingCased":false,"Final_Sigma":true}]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+039F"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+03A3"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
8unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-downcase","scalar":"U+039F","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":true,"contextScalarVisitBound":"2"}accepted
9unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-downcase","scalar":"U+03A3","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":false,"contextScalarVisitBound":"2"}accepted
10datum-allocateresult(0)2{"shape":"string","outputScalarCount":"2","outputScalars":["U+03BF","U+03C2"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"ος"}}.

following-cased-prevents-final-sigma uses string-downcase at downcase-call.

The preceding omicron is Cased, but the following original U+0391 is also Cased. Final_Sigma is false. UnicodeData supplies the ordinary U+03A3 to U+03C3 mapping; alpha lowers to U+03B1.

Arguments: [{"kind":"string","value":"ΟΣΑ"}].

Mapping and context calculation: {"originalScalars":["U+039F","U+03A3","U+0391"],"n":"3","D":"2","scratchScalarCapacity":"6","perOriginalScalarMappings":[["U+03BF"],["U+03C3"],["U+03B1"]],"outputScalars":["U+03BF","U+03C3","U+03B1"],"m":"3","resultUtf8OctetCapacityBound":"12","originalContextEvaluation":[{"sigmaIndex":"1","precedingCased":true,"precedingWitness":"0","ignoredPrecedingIndices":[],"followingScalarVisits":["2"],"followingRequiredEnd":null,"followingCased":true,"Final_Sigma":false}]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+039F"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+03A3"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"scalar":"U+0391"}accepted
8text-scalar-scanargument(0), field(scan), scalar(3)—{"requiredEnd":"3","inputScalarCount":"3"}accepted
9unicode-mapargument(0), field(map), scalar(0)3{"operation":"string-downcase","scalar":"U+039F","inputScalarCount":"3","mappingBound":"2","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"3"}accepted
10unicode-mapargument(0), field(map), scalar(1)3{"operation":"string-downcase","scalar":"U+03A3","inputScalarCount":"3","mappingBound":"2","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"3"}accepted
11unicode-mapargument(0), field(map), scalar(2)3{"operation":"string-downcase","scalar":"U+0391","inputScalarCount":"3","mappingBound":"2","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"3"}accepted
12datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+03BF","U+03C3","U+03B1"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
13call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"οσα"}}.

ignorable-on-both-sides uses string-downcase at downcase-call.

Both U+0301 scalars are Case_Ignorable. The preceding acute leaves the original omicron as the Cased witness. The following acute is skipped before the required end. Final_Sigma applies. The combining scalars stay in their original positions.

Arguments: [{"kind":"string","value":"ΌΣ́"}].

Mapping and context calculation: {"originalScalars":["U+039F","U+0301","U+03A3","U+0301"],"n":"4","D":"2","scratchScalarCapacity":"8","perOriginalScalarMappings":[["U+03BF"],["U+0301"],["U+03C2"],["U+0301"]],"outputScalars":["U+03BF","U+0301","U+03C2","U+0301"],"m":"4","resultUtf8OctetCapacityBound":"16","originalContextEvaluation":[{"sigmaIndex":"2","precedingCased":true,"precedingWitness":"0","ignoredPrecedingIndices":["1"],"followingScalarVisits":["3"],"followingRequiredEnd":"4","followingCased":false,"Final_Sigma":true}]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+039F"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0301"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"scalar":"U+03A3"}accepted
8text-scalar-scanargument(0), field(scan), scalar(3)—{"scalar":"U+0301"}accepted
9text-scalar-scanargument(0), field(scan), scalar(4)—{"requiredEnd":"4","inputScalarCount":"4"}accepted
10unicode-mapargument(0), field(map), scalar(0)4{"operation":"string-downcase","scalar":"U+039F","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":true,"contextScalarVisitBound":"4"}accepted
11unicode-mapargument(0), field(map), scalar(1)4{"operation":"string-downcase","scalar":"U+0301","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":false,"contextScalarVisitBound":"4"}accepted
12unicode-mapargument(0), field(map), scalar(2)4{"operation":"string-downcase","scalar":"U+03A3","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":false,"contextScalarVisitBound":"4"}accepted
13unicode-mapargument(0), field(map), scalar(3)4{"operation":"string-downcase","scalar":"U+0301","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":false,"contextScalarVisitBound":"4"}accepted
14datum-allocateresult(0)4{"shape":"string","outputScalarCount":"4","outputScalars":["U+03BF","U+0301","U+03C2","U+0301"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
15call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"ός́"}}.

cased-after-ignorable-prevents-final-sigma uses string-downcase at downcase-call.

The suffix visit first skips Case_Ignorable U+0301, then finds original Cased U+0391. Final_Sigma is false. Those suffix visits belong to the sigma map requirement; they add no scan event.

Arguments: [{"kind":"string","value":"ΟΣ́Α"}].

Mapping and context calculation: {"originalScalars":["U+039F","U+03A3","U+0301","U+0391"],"n":"4","D":"2","scratchScalarCapacity":"8","perOriginalScalarMappings":[["U+03BF"],["U+03C3"],["U+0301"],["U+03B1"]],"outputScalars":["U+03BF","U+03C3","U+0301","U+03B1"],"m":"4","resultUtf8OctetCapacityBound":"16","originalContextEvaluation":[{"sigmaIndex":"1","precedingCased":true,"precedingWitness":"0","ignoredPrecedingIndices":[],"followingScalarVisits":["2","3"],"followingRequiredEnd":null,"followingCased":true,"Final_Sigma":false}]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+039F"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+03A3"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"scalar":"U+0301"}accepted
8text-scalar-scanargument(0), field(scan), scalar(3)—{"scalar":"U+0391"}accepted
9text-scalar-scanargument(0), field(scan), scalar(4)—{"requiredEnd":"4","inputScalarCount":"4"}accepted
10unicode-mapargument(0), field(map), scalar(0)4{"operation":"string-downcase","scalar":"U+039F","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":true,"contextScalarVisitBound":"4"}accepted
11unicode-mapargument(0), field(map), scalar(1)4{"operation":"string-downcase","scalar":"U+03A3","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":false,"contextScalarVisitBound":"4"}accepted
12unicode-mapargument(0), field(map), scalar(2)4{"operation":"string-downcase","scalar":"U+0301","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":false,"contextScalarVisitBound":"4"}accepted
13unicode-mapargument(0), field(map), scalar(3)4{"operation":"string-downcase","scalar":"U+0391","inputScalarCount":"4","mappingBound":"2","scratchScalarCapacity":"8","reserveScratch":false,"contextScalarVisitBound":"4"}accepted
14datum-allocateresult(0)4{"shape":"string","outputScalarCount":"4","outputScalars":["U+03BF","U+03C3","U+0301","U+03B1"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
15call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"οσ́α"}}.

overlapping-property-is-no-preceding-witness uses string-downcase at downcase-call.

U+0345 is both Cased and Case_Ignorable. Case_Ignorable is tested first, so it does not establish a preceding Cased witness. Final_Sigma is false even at the end. U+0345 has no lowercase change and sigma uses U+03C3.

Arguments: [{"kind":"string","value":"ͅΣ"}].

Mapping and context calculation: {"originalScalars":["U+0345","U+03A3"],"n":"2","D":"2","scratchScalarCapacity":"4","perOriginalScalarMappings":[["U+0345"],["U+03C3"]],"outputScalars":["U+0345","U+03C3"],"m":"2","resultUtf8OctetCapacityBound":"8","originalContextEvaluation":[{"sigmaIndex":"1","precedingCased":false,"precedingWitness":null,"ignoredPrecedingIndices":["0"],"followingScalarVisits":[],"followingRequiredEnd":null,"followingCased":null,"Final_Sigma":false,"suffixRequired":false}]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0345"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+03A3"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
8unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-downcase","scalar":"U+0345","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":true,"contextScalarVisitBound":"2"}accepted
9unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-downcase","scalar":"U+03A3","inputScalarCount":"2","mappingBound":"2","scratchScalarCapacity":"4","reserveScratch":false,"contextScalarVisitBound":"2"}accepted
10datum-allocateresult(0)2{"shape":"string","outputScalarCount":"2","outputScalars":["U+0345","U+03C3"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"ͅσ"}}.

overlapping-property-is-skipped-in-suffix uses string-downcase at downcase-call.

Original U+0041 establishes the preceding Cased state. In the suffix, U+0345 is skipped as Case_Ignorable before testing Cased. The suffix then reaches its required end, so Final_Sigma applies. Neither the previous lowercase result nor a fold of U+0345 is consulted.

Arguments: [{"kind":"string","value":"AΣͅ"}].

Mapping and context calculation: {"originalScalars":["U+0041","U+03A3","U+0345"],"n":"3","D":"2","scratchScalarCapacity":"6","perOriginalScalarMappings":[["U+0061"],["U+03C2"],["U+0345"]],"outputScalars":["U+0061","U+03C2","U+0345"],"m":"3","resultUtf8OctetCapacityBound":"12","originalContextEvaluation":[{"sigmaIndex":"1","precedingCased":true,"precedingWitness":"0","ignoredPrecedingIndices":[],"followingScalarVisits":["2"],"followingRequiredEnd":"3","followingCased":false,"Final_Sigma":true}]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-downcase"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+03A3"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"scalar":"U+0345"}accepted
8text-scalar-scanargument(0), field(scan), scalar(3)—{"requiredEnd":"3","inputScalarCount":"3"}accepted
9unicode-mapargument(0), field(map), scalar(0)3{"operation":"string-downcase","scalar":"U+0041","inputScalarCount":"3","mappingBound":"2","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"3"}accepted
10unicode-mapargument(0), field(map), scalar(1)3{"operation":"string-downcase","scalar":"U+03A3","inputScalarCount":"3","mappingBound":"2","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"3"}accepted
11unicode-mapargument(0), field(map), scalar(2)3{"operation":"string-downcase","scalar":"U+0345","inputScalarCount":"3","mappingBound":"2","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"3"}accepted
12datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+0061","U+03C2","U+0345"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
13call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"aςͅ"}}.

근거 자료

Normalization scratch and stable ordering

lispex.example.v2.values.normalization-envelope-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((selector (vector-ref input 0))
            (text (vector-ref input 1)))
        (let ((result (if (= selector 0) (string-normalize-nfc text) (if (= selector 1) (string-normalize-nfd text) (string-normalize-nfkd text)))))
          result))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "empty-normalization",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": ""
          }
        ]
      }
    },
    {
      "case": "long-stable-combining-run",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"
          }
        ]
      }
    },
    {
      "case": "hangul-decomposition",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "각"
          }
        ]
      }
    },
    {
      "case": "hangul-composition",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": "각"
          }
        ]
      }
    },
    {
      "case": "longest-compatibility-decomposition",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "2"
          },
          {
            "kind": "string",
            "value": "ﷺ"
          }
        ]
      }
    },
    {
      "case": "four-scalar-canonical-decomposition",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "ᾂ"
          }
        ]
      }
    },
    {
      "case": "normalization-scratch-refused",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "2"
          },
          {
            "kind": "string",
            "value": "ﷺ"
          }
        ]
      },
      "resourceBoundary": {
        "event": "unicode-normalize",
        "fixtureSite": "nfkd-call",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through the complete original scalar scan and its required end",
        "selectedReservation": "insufficient remaining allocation for the complete normalization reservation, including both eighteen-scalar scratch buffers and counter support",
        "otherAxes": "sufficient"
      }
    }
  ],
  "fixtureSites": {
    "nfc-call": "The string-normalize-nfc call in the result initializer.",
    "nfd-call": "The string-normalize-nfd call in the result initializer.",
    "nfkd-call": "The string-normalize-nfkd call in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · string-normalize-nfc
empty-normalization · ""
string-normalize-nfc · empty-normalization
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfc-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfc-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfc-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfc-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6unicode-normalizeargument(0){"fixtureSite":"nfc-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}0
7datum-allocateresult(0){"fixtureSite":"nfc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}0
8call-returncall{"fixtureSite":"nfc-call","role":"call-return","path":[]}null
결과""
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": ""
  }
}
추적 상세 1
{
  "case": "empty-normalization",
  "operation": "string-normalize-nfc",
  "arguments": [
    {
      "kind": "string",
      "value": ""
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfc"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "form": "NFC",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "0",
            "0"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "in-place",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": ""
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfd
long-stable-combining-run · "À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"
string-normalize-nfd · long-stable-combining-run
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfd-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfd-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfd-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfd-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8text-scalar-scanargument(0) field(scan) scalar(3){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"3"}]}null
9text-scalar-scanargument(0) field(scan) scalar(4){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"4"}]}null
10text-scalar-scanargument(0) field(scan) scalar(5){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"5"}]}null
11text-scalar-scanargument(0) field(scan) scalar(6){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"6"}]}null
12text-scalar-scanargument(0) field(scan) scalar(7){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"7"}]}null
13text-scalar-scanargument(0) field(scan) scalar(8){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"8"}]}null
14text-scalar-scanargument(0) field(scan) scalar(9){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"9"}]}null
15text-scalar-scanargument(0) field(scan) scalar(10){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"10"}]}null
16text-scalar-scanargument(0) field(scan) scalar(11){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"11"}]}null
17text-scalar-scanargument(0) field(scan) scalar(12){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"12"}]}null
18text-scalar-scanargument(0) field(scan) scalar(13){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"13"}]}null
19text-scalar-scanargument(0) field(scan) scalar(14){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"14"}]}null
20text-scalar-scanargument(0) field(scan) scalar(15){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"15"}]}null
21text-scalar-scanargument(0) field(scan) scalar(16){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"16"}]}null
22text-scalar-scanargument(0) field(scan) scalar(17){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"17"}]}null
23text-scalar-scanargument(0) field(scan) scalar(18){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"18"}]}null
24text-scalar-scanargument(0) field(scan) scalar(19){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"19"}]}null
25text-scalar-scanargument(0) field(scan) scalar(20){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"20"}]}null
26text-scalar-scanargument(0) field(scan) scalar(21){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"21"}]}null
27text-scalar-scanargument(0) field(scan) scalar(22){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"22"}]}null
28text-scalar-scanargument(0) field(scan) scalar(23){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"23"}]}null
29text-scalar-scanargument(0) field(scan) scalar(24){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"24"}]}null
30text-scalar-scanargument(0) field(scan) scalar(25){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"25"}]}null
31text-scalar-scanargument(0) field(scan) scalar(26){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"26"}]}null
32text-scalar-scanargument(0) field(scan) scalar(27){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"27"}]}null
33text-scalar-scanargument(0) field(scan) scalar(28){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"28"}]}null
34text-scalar-scanargument(0) field(scan) scalar(29){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"29"}]}null
35text-scalar-scanargument(0) field(scan) scalar(30){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"30"}]}null
36text-scalar-scanargument(0) field(scan) scalar(31){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"31"}]}null
37text-scalar-scanargument(0) field(scan) scalar(32){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"32"}]}null
38text-scalar-scanargument(0) field(scan) scalar(33){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"33"}]}null
39text-scalar-scanargument(0) field(scan) scalar(34){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"34"}]}null
40unicode-normalizeargument(0){"fixtureSite":"nfd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}34
41datum-allocateresult(0){"fixtureSite":"nfd-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}34
42call-returncall{"fixtureSite":"nfd-call","role":"call-return","path":[]}null
결과"À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"
  }
}
추적 상세 2
{
  "case": "long-stable-combining-run",
  "operation": "string-normalize-nfd",
  "arguments": [
    {
      "kind": "string",
      "value": "À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfd"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "4"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "5"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "6"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "7"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "8"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "9"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "10"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "11"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "12"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "13"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "14"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "15"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "16"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "17"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "18"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "19"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "20"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "21"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "22"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "23"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "24"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "25"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "26"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "27"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "28"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "29"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "30"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "31"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0315"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "32"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0300"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "33"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "34"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "34"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "34",
        "inputs": {
          "form": "NFD",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "136",
            "136"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "none",
          "inputScalarCount": "34"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "34",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "34",
          "outputScalars": [
            "U+0041",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0300",
            "U+0301",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315",
            "U+0315"
          ],
          "utf8CapacityBound": "136",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfd
hangul-decomposition · "각"
string-normalize-nfd · hangul-decomposition
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfd-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfd-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfd-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfd-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-normalizeargument(0){"fixtureSite":"nfd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"nfd-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}3
9call-returncall{"fixtureSite":"nfd-call","role":"call-return","path":[]}null
결과"각"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "각"
  }
}
추적 상세 3
{
  "case": "hangul-decomposition",
  "operation": "string-normalize-nfd",
  "arguments": [
    {
      "kind": "string",
      "value": "각"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfd"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+AC01"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "form": "NFD",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "4",
            "4"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "none",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "3",
          "outputScalars": [
            "U+1100",
            "U+1161",
            "U+11A8"
          ],
          "utf8CapacityBound": "12",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "각"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfc
hangul-composition · "각"
string-normalize-nfc · hangul-composition
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfc-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfc-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfc-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfc-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8text-scalar-scanargument(0) field(scan) scalar(3){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"3"}]}null
9unicode-normalizeargument(0){"fixtureSite":"nfc-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}3
10datum-allocateresult(0){"fixtureSite":"nfc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
11call-returncall{"fixtureSite":"nfc-call","role":"call-return","path":[]}null
결과"각"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "각"
  }
}
추적 상세 4
{
  "case": "hangul-composition",
  "operation": "string-normalize-nfc",
  "arguments": [
    {
      "kind": "string",
      "value": "각"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfc"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+1100"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+1161"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+11A8"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "3",
        "inputs": {
          "form": "NFC",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "12",
            "12"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "in-place",
          "inputScalarCount": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+AC01"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "각"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfkd
longest-compatibility-decomposition · "ﷺ"
string-normalize-nfkd · longest-compatibility-decomposition
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfkd-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfkd-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfkd-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfkd-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfkd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfkd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-normalizeargument(0){"fixtureSite":"nfkd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"nfkd-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}18
9call-returncall{"fixtureSite":"nfkd-call","role":"call-return","path":[]}null
결과"صلى الله عليه وسلم"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "صلى الله عليه وسلم"
  }
}
추적 상세 5
{
  "case": "longest-compatibility-decomposition",
  "operation": "string-normalize-nfkd",
  "arguments": [
    {
      "kind": "string",
      "value": "ﷺ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfkd"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+FDFA"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "form": "NFKD",
          "decompositionBoundPerScalar": "18",
          "scratchScalarCapacities": [
            "18",
            "18"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "none",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "18",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "18",
          "outputScalars": [
            "U+0635",
            "U+0644",
            "U+0649",
            "U+0020",
            "U+0627",
            "U+0644",
            "U+0644",
            "U+0647",
            "U+0020",
            "U+0639",
            "U+0644",
            "U+064A",
            "U+0647",
            "U+0020",
            "U+0648",
            "U+0633",
            "U+0644",
            "U+0645"
          ],
          "utf8CapacityBound": "72",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "صلى الله عليه وسلم"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfd
four-scalar-canonical-decomposition · "ᾂ"
string-normalize-nfd · four-scalar-canonical-decomposition
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfd-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfd-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfd-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfd-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-normalizeargument(0){"fixtureSite":"nfd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"nfd-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}4
9call-returncall{"fixtureSite":"nfd-call","role":"call-return","path":[]}null
결과"ᾂ"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "ᾂ"
  }
}
추적 상세 6
{
  "case": "four-scalar-canonical-decomposition",
  "operation": "string-normalize-nfd",
  "arguments": [
    {
      "kind": "string",
      "value": "ᾂ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfd"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+1F82"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "form": "NFD",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "4",
            "4"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "none",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+03B1",
            "U+0313",
            "U+0300",
            "U+0345"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "ᾂ"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfkd
normalization-scratch-refused · "ﷺ"
string-normalize-nfkd · normalization-scratch-refused
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfkd-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfkd-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfkd-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfkd-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfkd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfkd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-normalizeargument(0){"fixtureSite":"nfkd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}1
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "string-normalize-nfkd",
  "event": "unicode-normalize",
  "site": {
    "fixtureSite": "nfkd-call",
    "role": "unicode-normalize",
    "path": [
      {
        "kind": "argument",
        "index": "0"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 7
{
  "case": "normalization-scratch-refused",
  "operation": "string-normalize-nfkd",
  "arguments": [
    {
      "kind": "string",
      "value": "ﷺ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfkd"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+FDFA"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "form": "NFKD",
          "decompositionBoundPerScalar": "18",
          "scratchScalarCapacities": [
            "18",
            "18"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "none",
          "inputScalarCount": "1"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "string-normalize-nfkd",
    "event": "unicode-normalize",
    "site": {
      "fixtureSite": "nfkd-call",
      "role": "unicode-normalize",
      "path": [
        {
          "kind": "argument",
          "index": "0"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": ""
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "각"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "각"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "صلى الله عليه وسلم"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "ᾂ"
      }
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "string-normalize-nfkd",
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfkd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    }
  ]
}
제품 실행

예상 결과

One normalization event reserves complete scratch before transformation. Stable combining-class order preserves equal classes through long combining sequences. Canonical and compatibility bounds cover Hangul and the longest compatibility decomposition. Product invocation awaits its 2.0 adapter.

One normalization event reserves complete scratch before transformation. Stable combining-class order preserves equal classes through long combining sequences. Canonical and compatibility bounds cover Hangul and the longest compatibility decomposition.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

empty-normalization uses string-normalize-nfc at nfc-call.

The empty original has n=0. The required end is visited, then the single normalization event reserves two zero-length scalar buffers and the fixed 256-counter support. The result allocation has m=0 and still reserves the empty immutable string requirements.

Arguments: [{"kind":"string","value":""}].

Scalar and storage calculation: {"originalScalars":[],"originalScalarCount":"0","outputScalars":[],"outputScalarCount":"0","utf8Octets":"0","utf8CapacityBound":"0"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfc"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"requiredEnd":"0"}accepted
6unicode-normalizeargument(0)0{"form":"NFC","decompositionBoundPerScalar":"4","scratchScalarCapacities":["0","0"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"in-place","inputScalarCount":"0"}accepted
7datum-allocateresult(0)0{"shape":"string","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
8call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":""}}.

long-stable-combining-run uses string-normalize-nfd at nfd-call.

The original has one starter and eleven copies of U+0315 U+0300 U+0301, so n=34. U+0315 has canonical combining class 232. U+0300 and U+0301 each have class 230. None has a decomposition. Stable counting order places the twenty-two class-230 scalars first, preserving the alternating grave/acute order, followed by eleven class-232 scalars. NFD does not compose. The output has the same 34 scalars and 67 UTF-8 octets. The run contains 33 nonstarters, and no Stream-Safe separator is inserted. Each scratch buffer reserves 4*34=136 scalar positions, with 256 counters.

Arguments: [{"kind":"string","value":"À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"}].

Scalar and storage calculation: {"originalScalars":["U+0041","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301","U+0315","U+0300","U+0301"],"originalScalarCount":"34","outputScalars":["U+0041","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315"],"outputScalarCount":"34","utf8Octets":"67","utf8CapacityBound":"136","steps":{"inputRecipe":"U+0041 followed by eleven copies of [U+0315,U+0300,U+0301]","outputRecipe":"U+0041 followed by eleven copies of [U+0300,U+0301], then eleven U+0315","decomposedLength":"34","nonstarterRunLengths":["33"],"scratchScalarCapacities":["136","136"]}}.

Unicode source rows: ["UnicodeData.txt:66 U+0041 CCC=0","UnicodeData.txt:769 U+0300 CCC=230","UnicodeData.txt:770 U+0301 CCC=230","UnicodeData.txt:790 U+0315 CCC=232"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfd"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0315"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"scalar":"U+0300"}accepted
8text-scalar-scanargument(0), field(scan), scalar(3)—{"scalar":"U+0301"}accepted
9text-scalar-scanargument(0), field(scan), scalar(4)—{"scalar":"U+0315"}accepted
10text-scalar-scanargument(0), field(scan), scalar(5)—{"scalar":"U+0300"}accepted
11text-scalar-scanargument(0), field(scan), scalar(6)—{"scalar":"U+0301"}accepted
12text-scalar-scanargument(0), field(scan), scalar(7)—{"scalar":"U+0315"}accepted
13text-scalar-scanargument(0), field(scan), scalar(8)—{"scalar":"U+0300"}accepted
14text-scalar-scanargument(0), field(scan), scalar(9)—{"scalar":"U+0301"}accepted
15text-scalar-scanargument(0), field(scan), scalar(10)—{"scalar":"U+0315"}accepted
16text-scalar-scanargument(0), field(scan), scalar(11)—{"scalar":"U+0300"}accepted
17text-scalar-scanargument(0), field(scan), scalar(12)—{"scalar":"U+0301"}accepted
18text-scalar-scanargument(0), field(scan), scalar(13)—{"scalar":"U+0315"}accepted
19text-scalar-scanargument(0), field(scan), scalar(14)—{"scalar":"U+0300"}accepted
20text-scalar-scanargument(0), field(scan), scalar(15)—{"scalar":"U+0301"}accepted
21text-scalar-scanargument(0), field(scan), scalar(16)—{"scalar":"U+0315"}accepted
22text-scalar-scanargument(0), field(scan), scalar(17)—{"scalar":"U+0300"}accepted
23text-scalar-scanargument(0), field(scan), scalar(18)—{"scalar":"U+0301"}accepted
24text-scalar-scanargument(0), field(scan), scalar(19)—{"scalar":"U+0315"}accepted
25text-scalar-scanargument(0), field(scan), scalar(20)—{"scalar":"U+0300"}accepted
26text-scalar-scanargument(0), field(scan), scalar(21)—{"scalar":"U+0301"}accepted
27text-scalar-scanargument(0), field(scan), scalar(22)—{"scalar":"U+0315"}accepted
28text-scalar-scanargument(0), field(scan), scalar(23)—{"scalar":"U+0300"}accepted
29text-scalar-scanargument(0), field(scan), scalar(24)—{"scalar":"U+0301"}accepted
30text-scalar-scanargument(0), field(scan), scalar(25)—{"scalar":"U+0315"}accepted
31text-scalar-scanargument(0), field(scan), scalar(26)—{"scalar":"U+0300"}accepted
32text-scalar-scanargument(0), field(scan), scalar(27)—{"scalar":"U+0301"}accepted
33text-scalar-scanargument(0), field(scan), scalar(28)—{"scalar":"U+0315"}accepted
34text-scalar-scanargument(0), field(scan), scalar(29)—{"scalar":"U+0300"}accepted
35text-scalar-scanargument(0), field(scan), scalar(30)—{"scalar":"U+0301"}accepted
36text-scalar-scanargument(0), field(scan), scalar(31)—{"scalar":"U+0315"}accepted
37text-scalar-scanargument(0), field(scan), scalar(32)—{"scalar":"U+0300"}accepted
38text-scalar-scanargument(0), field(scan), scalar(33)—{"scalar":"U+0301"}accepted
39text-scalar-scanargument(0), field(scan), scalar(34)—{"requiredEnd":"34"}accepted
40unicode-normalizeargument(0)34{"form":"NFD","decompositionBoundPerScalar":"4","scratchScalarCapacities":["136","136"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"none","inputScalarCount":"34"}accepted
41datum-allocateresult(0)34{"shape":"string","outputScalarCount":"34","outputScalars":["U+0041","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0300","U+0301","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315","U+0315"],"utf8CapacityBound":"136","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
42call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"À́̀́̀́̀́̀́̀́̀́̀́̀́̀́̀́̕̕̕̕̕̕̕̕̕̕̕"}}.

hangul-decomposition uses string-normalize-nfd at nfd-call.

For U+AC01, SIndex=AC01-AC00=1. With NCount=21*28=588, LIndex=0, VIndex=0, TIndex=1. The Hangul algorithm yields U+1100, U+1161, and U+11A8. Each is three UTF-8 octets. Thus n=1, D=4, each scratch capacity is 4, m=3, and the result UTF-8 bound is 12.

Arguments: [{"kind":"string","value":"각"}].

Scalar and storage calculation: {"originalScalars":["U+AC01"],"originalScalarCount":"1","outputScalars":["U+1100","U+1161","U+11A8"],"outputScalarCount":"3","utf8Octets":"9","utf8CapacityBound":"12","steps":{"SBase":"U+AC00","LBase":"U+1100","VBase":"U+1161","TBase":"U+11A7","SIndex":"1","NCount":"588","LIndex":"0","VIndex":"0","TIndex":"1"}}.

Unicode source rows: ["UnicodeData.txt:15238..15239 U+AC00..U+D7A3 Hangul Syllable range","UnicodeData.txt:3821 U+1100","UnicodeData.txt:3918 U+1161","UnicodeData.txt:3989 U+11A8"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfd"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+AC01"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1"}accepted
7unicode-normalizeargument(0)1{"form":"NFD","decompositionBoundPerScalar":"4","scratchScalarCapacities":["4","4"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"none","inputScalarCount":"1"}accepted
8datum-allocateresult(0)3{"shape":"string","outputScalarCount":"3","outputScalars":["U+1100","U+1161","U+11A8"],"utf8CapacityBound":"12","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"각"}}.

hangul-composition uses string-normalize-nfc at nfc-call.

The Hangul composition algorithm combines U+1100 with U+1161 to form U+AC00, then combines U+AC00 with U+11A8 to form U+AC01. The three original scalars all have combining class zero. Thus n=3, each canonical scratch capacity is 12, m=1, and the result uses three UTF-8 octets under bound 4.

Arguments: [{"kind":"string","value":"각"}].

Scalar and storage calculation: {"originalScalars":["U+1100","U+1161","U+11A8"],"originalScalarCount":"3","outputScalars":["U+AC01"],"outputScalarCount":"1","utf8Octets":"3","utf8CapacityBound":"4","steps":{"firstComposition":["U+1100","U+1161","U+AC00"],"secondComposition":["U+AC00","U+11A8","U+AC01"]}}.

Unicode source rows: ["UnicodeData.txt:15238..15239 U+AC00..U+D7A3 Hangul Syllable range","UnicodeData.txt:3821 U+1100","UnicodeData.txt:3918 U+1161","UnicodeData.txt:3989 U+11A8"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfc"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+1100"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+1161"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"scalar":"U+11A8"}accepted
8text-scalar-scanargument(0), field(scan), scalar(3)—{"requiredEnd":"3"}accepted
9unicode-normalizeargument(0)3{"form":"NFC","decompositionBoundPerScalar":"4","scratchScalarCapacities":["12","12"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"in-place","inputScalarCount":"3"}accepted
10datum-allocateresult(0)1{"shape":"string","outputScalarCount":"1","outputScalars":["U+AC01"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"각"}}.

longest-compatibility-decomposition uses string-normalize-nfkd at nfkd-call.

UnicodeData gives U+FDFA the compatibility decomposition 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645. These eighteen scalars have no further decomposition and all have combining class zero. There are fifteen two-octet Arabic letters and three one-octet spaces: 33 UTF-8 octets. Each scratch buffer reserves 18 positions for n=1; result extent is m=18 and the UTF-8 bound is 72.

Arguments: [{"kind":"string","value":"ﷺ"}].

Scalar and storage calculation: {"originalScalars":["U+FDFA"],"originalScalarCount":"1","outputScalars":["U+0635","U+0644","U+0649","U+0020","U+0627","U+0644","U+0644","U+0647","U+0020","U+0639","U+0644","U+064A","U+0647","U+0020","U+0648","U+0633","U+0644","U+0645"],"outputScalarCount":"18","utf8Octets":"33","utf8CapacityBound":"72"}.

Unicode source rows: ["UnicodeData.txt:16500 U+FDFA <isolated> decomposition","UnicodeData.txt:33 U+0020 and 1538/1550/1552/1556/1567/1568/1570..1573 Arabic scalar rows"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfkd"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+FDFA"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1"}accepted
7unicode-normalizeargument(0)1{"form":"NFKD","decompositionBoundPerScalar":"18","scratchScalarCapacities":["18","18"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"none","inputScalarCount":"1"}accepted
8datum-allocateresult(0)18{"shape":"string","outputScalarCount":"18","outputScalars":["U+0635","U+0644","U+0649","U+0020","U+0627","U+0644","U+0644","U+0647","U+0020","U+0639","U+0644","U+064A","U+0647","U+0020","U+0648","U+0633","U+0644","U+0645"],"utf8CapacityBound":"72","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"صلى الله عليه وسلم"}}.

four-scalar-canonical-decomposition uses string-normalize-nfd at nfd-call.

UnicodeData decomposes U+1F82 to U+1F02 U+0345, U+1F02 to U+1F00 U+0300, and U+1F00 to U+03B1 U+0313. Full canonical decomposition is U+03B1 U+0313 U+0300 U+0345. The classes are 0, 230, 230, 240. Stable order retains U+0313 before U+0300. Hence n=1, each scratch capacity is 4, m=4, and all four output scalars use two UTF-8 octets, for 8 octets under bound 16.

Arguments: [{"kind":"string","value":"ᾂ"}].

Scalar and storage calculation: {"originalScalars":["U+1F82"],"originalScalarCount":"1","outputScalars":["U+03B1","U+0313","U+0300","U+0345"],"outputScalarCount":"4","utf8Octets":"8","utf8CapacityBound":"16"}.

Unicode source rows: ["UnicodeData.txt:7275 U+1F82","UnicodeData.txt:7161 U+1F02","UnicodeData.txt:7159 U+1F00","UnicodeData.txt:937 U+03B1","UnicodeData.txt:788 U+0313","UnicodeData.txt:769 U+0300","UnicodeData.txt:838 U+0345"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfd"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+1F82"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1"}accepted
7unicode-normalizeargument(0)1{"form":"NFD","decompositionBoundPerScalar":"4","scratchScalarCapacities":["4","4"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"none","inputScalarCount":"1"}accepted
8datum-allocateresult(0)4{"shape":"string","outputScalarCount":"4","outputScalars":["U+03B1","U+0313","U+0300","U+0345"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"ᾂ"}}.

normalization-scratch-refused uses string-normalize-nfkd at nfkd-call.

The fixed compatibility bound D=18 and original count n=1 require two eighteen-scalar buffers and 256 counters. Refusal of that complete normalization reservation performs no decomposition, ordering, composition, or result allocation. The raw U+FDFA row independently establishes the successful eighteen-scalar result.

Arguments: [{"kind":"string","value":"ﷺ"}].

Scalar and storage calculation: {"originalScalars":["U+FDFA"],"originalScalarCount":"1","outputScalars":["U+0635","U+0644","U+0649","U+0020","U+0627","U+0644","U+0644","U+0647","U+0020","U+0639","U+0644","U+064A","U+0647","U+0020","U+0648","U+0633","U+0644","U+0645"],"outputScalarCount":"18","utf8Octets":"33","utf8CapacityBound":"72"}.

Unicode source rows: ["UnicodeData.txt:16500 U+FDFA <isolated> decomposition"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfkd"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+FDFA"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1"}accepted
7unicode-normalizeargument(0)1{"form":"NFKD","decompositionBoundPerScalar":"18","scratchScalarCapacities":["18","18"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"none","inputScalarCount":"1"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"string-normalize-nfkd","event":"unicode-normalize","site":{"fixtureSite":"nfkd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

근거 자료

Unicode result scalar extents

lispex.example.v2.values.unicode-result-extent-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((selector (vector-ref input 0))
            (text (vector-ref input 1)))
        (let ((result (if (= selector 0) (string-normalize-nfc text) (if (= selector 1) (string-normalize-nfd text) (string-normalize-nfkc text)))))
          result))))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "composed-output-count",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": "é"
          }
        ]
      }
    },
    {
      "case": "decomposed-output-count",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "é"
          }
        ]
      }
    },
    {
      "case": "supplementary-scalar-count",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "😀"
          }
        ]
      }
    },
    {
      "case": "compatibility-output-count",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "2"
          },
          {
            "kind": "string",
            "value": "ﷺ"
          }
        ]
      }
    },
    {
      "case": "normalized-result-refused",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": "é"
          }
        ]
      },
      "resourceBoundary": {
        "event": "datum-allocate",
        "fixtureSite": "nfc-call",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through the complete original scan and the one normalization event",
        "selectedReservation": "insufficient remaining allocation for the complete one-scalar result string and its physical encoding support",
        "otherAxes": "sufficient"
      }
    },
    {
      "case": "empty-normalized-result-refused",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": ""
          }
        ]
      },
      "resourceBoundary": {
        "event": "datum-allocate",
        "fixtureSite": "nfc-call",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through the complete original scan and the one normalization event",
        "selectedReservation": "insufficient remaining allocation for the complete empty string result despite its zero scalar extent",
        "otherAxes": "sufficient"
      }
    }
  ],
  "fixtureSites": {
    "nfc-call": "The string-normalize-nfc call in the result initializer.",
    "nfd-call": "The string-normalize-nfd call in the result initializer.",
    "nfkc-call": "The string-normalize-nfkc call in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · string-normalize-nfc
composed-output-count · "é"
string-normalize-nfc · composed-output-count
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfc-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfc-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfc-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfc-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-normalizeargument(0){"fixtureSite":"nfc-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}2
9datum-allocateresult(0){"fixtureSite":"nfc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
10call-returncall{"fixtureSite":"nfc-call","role":"call-return","path":[]}null
결과"é"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "é"
  }
}
추적 상세 1
{
  "case": "composed-output-count",
  "operation": "string-normalize-nfc",
  "arguments": [
    {
      "kind": "string",
      "value": "é"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfc"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0065"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "form": "NFC",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "8",
            "8"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "in-place",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+00E9"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "é"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfd
decomposed-output-count · "é"
string-normalize-nfd · decomposed-output-count
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfd-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfd-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfd-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfd-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-normalizeargument(0){"fixtureSite":"nfd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"nfd-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}2
9call-returncall{"fixtureSite":"nfd-call","role":"call-return","path":[]}null
결과"é"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "é"
  }
}
추적 상세 2
{
  "case": "decomposed-output-count",
  "operation": "string-normalize-nfd",
  "arguments": [
    {
      "kind": "string",
      "value": "é"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfd"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00E9"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "form": "NFD",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "4",
            "4"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "none",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+0065",
            "U+0301"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "é"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfd
supplementary-scalar-count · "😀"
string-normalize-nfd · supplementary-scalar-count
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfd-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfd-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfd-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfd-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfd-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-normalizeargument(0){"fixtureSite":"nfd-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"nfd-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
9call-returncall{"fixtureSite":"nfd-call","role":"call-return","path":[]}null
결과"😀"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "😀"
  }
}
추적 상세 3
{
  "case": "supplementary-scalar-count",
  "operation": "string-normalize-nfd",
  "arguments": [
    {
      "kind": "string",
      "value": "😀"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfd"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+1F600"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "form": "NFD",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "4",
            "4"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "none",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+1F600"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfd-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "😀"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfkc
compatibility-output-count · "ﷺ"
string-normalize-nfkc · compatibility-output-count
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfkc-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfkc-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfkc-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfkc-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfkc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfkc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7unicode-normalizeargument(0){"fixtureSite":"nfkc-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}1
8datum-allocateresult(0){"fixtureSite":"nfkc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}18
9call-returncall{"fixtureSite":"nfkc-call","role":"call-return","path":[]}null
결과"صلى الله عليه وسلم"
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "string",
    "value": "صلى الله عليه وسلم"
  }
}
추적 상세 4
{
  "case": "compatibility-output-count",
  "operation": "string-normalize-nfkc",
  "arguments": [
    {
      "kind": "string",
      "value": "ﷺ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfkc"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+FDFA"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "form": "NFKC",
          "decompositionBoundPerScalar": "18",
          "scratchScalarCapacities": [
            "18",
            "18"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "in-place",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "18",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "18",
          "outputScalars": [
            "U+0635",
            "U+0644",
            "U+0649",
            "U+0020",
            "U+0627",
            "U+0644",
            "U+0644",
            "U+0647",
            "U+0020",
            "U+0639",
            "U+0644",
            "U+064A",
            "U+0647",
            "U+0020",
            "U+0648",
            "U+0633",
            "U+0644",
            "U+0645"
          ],
          "utf8CapacityBound": "72",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "nfkc-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "string",
      "value": "صلى الله عليه وسلم"
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfc
normalized-result-refused · "é"
string-normalize-nfc · normalized-result-refused
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfc-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfc-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfc-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfc-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
7text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
8unicode-normalizeargument(0){"fixtureSite":"nfc-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}2
9datum-allocateresult(0){"fixtureSite":"nfc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "string-normalize-nfc",
  "event": "datum-allocate",
  "site": {
    "fixtureSite": "nfc-call",
    "role": "datum-allocate",
    "path": [
      {
        "kind": "result",
        "index": "0"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 5
{
  "case": "normalized-result-refused",
  "operation": "string-normalize-nfc",
  "arguments": [
    {
      "kind": "string",
      "value": "é"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfc"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0065"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0301"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "form": "NFC",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "8",
            "8"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "in-place",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+00E9"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "string-normalize-nfc",
    "event": "datum-allocate",
    "site": {
      "fixtureSite": "nfc-call",
      "role": "datum-allocate",
      "path": [
        {
          "kind": "result",
          "index": "0"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-normalize-nfc
empty-normalized-result-refused · ""
string-normalize-nfc · empty-normalized-result-refused
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"nfc-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"nfc-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"nfc-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"nfc-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"nfc-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
6unicode-normalizeargument(0){"fixtureSite":"nfc-call","role":"unicode-normalize","path":[{"kind":"argument","index":"0"}]}0
7datum-allocateresult(0){"fixtureSite":"nfc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}0
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "string-normalize-nfc",
  "event": "datum-allocate",
  "site": {
    "fixtureSite": "nfc-call",
    "role": "datum-allocate",
    "path": [
      {
        "kind": "result",
        "index": "0"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 6
{
  "case": "empty-normalized-result-refused",
  "operation": "string-normalize-nfc",
  "arguments": [
    {
      "kind": "string",
      "value": ""
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-normalize-nfc"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "1",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-normalize",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "unicode-normalize",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "form": "NFC",
          "decompositionBoundPerScalar": "4",
          "scratchScalarCapacities": [
            "0",
            "0"
          ],
          "combiningClassCounters": "256",
          "ordering": "stable-counting-order-within-nonstarter-runs",
          "composition": "in-place",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "string-normalize-nfc",
    "event": "datum-allocate",
    "site": {
      "fixtureSite": "nfc-call",
      "role": "datum-allocate",
      "path": [
        {
          "kind": "result",
          "index": "0"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "é"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "é"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "😀"
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "string",
        "value": "صلى الله عليه وسلم"
      }
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "string-normalize-nfc",
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "string-normalize-nfc",
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "nfc-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    }
  ]
}
제품 실행

예상 결과

String result extents count actual output scalars. Input counts, decomposition capacities, and UTF-8 octet lengths remain separate semantic or physical requirements. Empty output and refused output reservations keep their declared sites. Product invocation awaits its 2.0 adapter.

String result extents count actual output scalars. Input counts, decomposition capacities, and UTF-8 octet lengths remain separate semantic or physical requirements. Empty output and refused output reservations keep their declared sites.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

composed-output-count uses string-normalize-nfc at nfc-call.

UnicodeData gives U+00E9 the canonical decomposition U+0065 U+0301. U+00E9 is not composition-excluded. NFC composes the two input scalars into U+00E9. Thus original n=2, result m=1, actual UTF-8 octets=2, and capacity bound=4. Result extent is 1.

Arguments: [{"kind":"string","value":"é"}].

Scalar and storage calculation: {"originalScalars":["U+0065","U+0301"],"originalScalarCount":"2","outputScalars":["U+00E9"],"outputScalarCount":"1","utf8Octets":"2","utf8CapacityBound":"4"}.

Unicode source rows: ["UnicodeData.txt:102 U+0065","UnicodeData.txt:234 U+00E9 -> 0065 0301","UnicodeData.txt:770 U+0301 CCC=230","CompositionExclusions.txt: U+00E9 absent"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfc"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0065"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0301"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2"}accepted
8unicode-normalizeargument(0)2{"form":"NFC","decompositionBoundPerScalar":"4","scratchScalarCapacities":["8","8"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"in-place","inputScalarCount":"2"}accepted
9datum-allocateresult(0)1{"shape":"string","outputScalarCount":"1","outputScalars":["U+00E9"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
10call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"é"}}.

decomposed-output-count uses string-normalize-nfd at nfd-call.

U+00E9 decomposes into U+0065 U+0301, already in canonical order. Thus original n=1, result m=2, actual UTF-8 octets=1+2=3, and capacity bound=8. Result extent is 2.

Arguments: [{"kind":"string","value":"é"}].

Scalar and storage calculation: {"originalScalars":["U+00E9"],"originalScalarCount":"1","outputScalars":["U+0065","U+0301"],"outputScalarCount":"2","utf8Octets":"3","utf8CapacityBound":"8"}.

Unicode source rows: ["UnicodeData.txt:234 U+00E9 -> 0065 0301","UnicodeData.txt:102 U+0065 CCC=0","UnicodeData.txt:770 U+0301 CCC=230"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfd"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+00E9"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1"}accepted
7unicode-normalizeargument(0)1{"form":"NFD","decompositionBoundPerScalar":"4","scratchScalarCapacities":["4","4"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"none","inputScalarCount":"1"}accepted
8datum-allocateresult(0)2{"shape":"string","outputScalarCount":"2","outputScalars":["U+0065","U+0301"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"é"}}.

supplementary-scalar-count uses string-normalize-nfd at nfd-call.

UnicodeData assigns U+1F600 no decomposition and combining class zero. NFD preserves this single supplementary scalar. Result extent is m=1, although its UTF-8 representation has four octets. The physical UTF-8 bound is also 4.

Arguments: [{"kind":"string","value":"😀"}].

Scalar and storage calculation: {"originalScalars":["U+1F600"],"originalScalarCount":"1","outputScalars":["U+1F600"],"outputScalarCount":"1","utf8Octets":"4","utf8CapacityBound":"4"}.

Unicode source rows: ["UnicodeData.txt:38298 U+1F600"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfd"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+1F600"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1"}accepted
7unicode-normalizeargument(0)1{"form":"NFD","decompositionBoundPerScalar":"4","scratchScalarCapacities":["4","4"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"none","inputScalarCount":"1"}accepted
8datum-allocateresult(0)1{"shape":"string","outputScalarCount":"1","outputScalars":["U+1F600"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"😀"}}.

compatibility-output-count uses string-normalize-nfkc at nfkc-call.

UnicodeData gives U+FDFA the compatibility decomposition 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645. These eighteen scalars have no further decomposition and all have combining class zero. There are fifteen two-octet Arabic letters and three one-octet spaces: 33 UTF-8 octets. Each scratch buffer reserves 18 positions for n=1; result extent is m=18 and the UTF-8 bound is 72. NFKC adds no composition: these class-zero Arabic letters and spaces do not form canonical composition pairs.

Arguments: [{"kind":"string","value":"ﷺ"}].

Scalar and storage calculation: {"originalScalars":["U+FDFA"],"originalScalarCount":"1","outputScalars":["U+0635","U+0644","U+0649","U+0020","U+0627","U+0644","U+0644","U+0647","U+0020","U+0639","U+0644","U+064A","U+0647","U+0020","U+0648","U+0633","U+0644","U+0645"],"outputScalarCount":"18","utf8Octets":"33","utf8CapacityBound":"72"}.

Unicode source rows: ["UnicodeData.txt:16500 U+FDFA <isolated> decomposition","UnicodeData.txt:33 U+0020 and Arabic rows 1538/1550/1552/1556/1567/1568/1570..1573"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfkc"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+FDFA"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1"}accepted
7unicode-normalizeargument(0)1{"form":"NFKC","decompositionBoundPerScalar":"18","scratchScalarCapacities":["18","18"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"in-place","inputScalarCount":"1"}accepted
8datum-allocateresult(0)18{"shape":"string","outputScalarCount":"18","outputScalars":["U+0635","U+0644","U+0649","U+0020","U+0627","U+0644","U+0644","U+0647","U+0020","U+0639","U+0644","U+064A","U+0647","U+0020","U+0648","U+0633","U+0644","U+0645"],"utf8CapacityBound":"72","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"string","value":"صلى الله عليه وسلم"}}.

normalized-result-refused uses string-normalize-nfc at nfc-call.

The complete original scan and normalization succeed. The actual output is one U+00E9 scalar, so the following allocation has extent 1. Refusing that event exposes no string and adds no call-return. The earlier normalization reservation remains charged.

Arguments: [{"kind":"string","value":"é"}].

Scalar and storage calculation: {"originalScalars":["U+0065","U+0301"],"originalScalarCount":"2","outputScalars":["U+00E9"],"outputScalarCount":"1","utf8Octets":"2","utf8CapacityBound":"4"}.

Unicode source rows: ["UnicodeData.txt:234 U+00E9 -> 0065 0301","CompositionExclusions.txt: U+00E9 absent"].

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfc"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0065"}accepted
6text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0301"}accepted
7text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2"}accepted
8unicode-normalizeargument(0)2{"form":"NFC","decompositionBoundPerScalar":"4","scratchScalarCapacities":["8","8"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"in-place","inputScalarCount":"2"}accepted
9datum-allocateresult(0)1{"shape":"string","outputScalarCount":"1","outputScalars":["U+00E9"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"string-normalize-nfc","event":"datum-allocate","site":{"fixtureSite":"nfc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

empty-normalized-result-refused uses string-normalize-nfc at nfc-call.

The empty scan end and normalization event succeed. The following datum-allocate still reserves the empty string header and result slot at extent 0. Refusing that reservation returns no partial result and no call-return.

Arguments: [{"kind":"string","value":""}].

Scalar and storage calculation: {"originalScalars":[],"originalScalarCount":"0","outputScalars":[],"outputScalarCount":"0","utf8Octets":"0","utf8CapacityBound":"0"}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-normalize-nfc"}accepted
2arity-checkempty—{"suppliedArguments":"1"}accepted
3callempty—{"suppliedArguments":"1","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5text-scalar-scanargument(0), field(scan), scalar(0)—{"requiredEnd":"0"}accepted
6unicode-normalizeargument(0)0{"form":"NFC","decompositionBoundPerScalar":"4","scratchScalarCapacities":["0","0"],"combiningClassCounters":"256","ordering":"stable-counting-order-within-nonstarter-runs","composition":"in-place","inputScalarCount":"0"}accepted
7datum-allocateresult(0)0{"shape":"string","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"string-normalize-nfc","event":"datum-allocate","site":{"fixtureSite":"nfc-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

근거 자료

Folded operand retention

lispex.example.v2.values.unicode-fold-retention-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((result
              (string-ci=? (vector-ref input 0) (vector-ref input 1) (vector-ref input 2))))
        result)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "fold-third-argument-before-first-false-pair",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "string",
            "value": "B"
          },
          {
            "kind": "string",
            "value": "a"
          },
          {
            "kind": "string",
            "value": "ß"
          }
        ]
      }
    },
    {
      "case": "third-domain-failure-before-any-fold",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "string",
            "value": "B"
          },
          {
            "kind": "string",
            "value": "a"
          },
          {
            "kind": "integer",
            "value": "7"
          }
        ]
      }
    },
    {
      "case": "third-folded-result-stop-before-false-comparison",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "string",
            "value": "B"
          },
          {
            "kind": "string",
            "value": "a"
          },
          {
            "kind": "string",
            "value": "ß"
          }
        ]
      },
      "resourceBoundary": {
        "event": "datum-allocate",
        "fixtureSite": "retain-call",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through every preceding event in the selected call trace",
        "selectedReservation": "insufficient remaining allocation for the complete folded result of argument 2; no replacement for that position or later comparison occurs",
        "otherAxes": "sufficient"
      }
    }
  ],
  "fixtureSites": {
    "retain-call": "The string-ci=? call in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · string-ci=?
fold-third-argument-before-first-false-pair · "B" "a" "ß"
string-ci=? · fold-third-argument-before-first-false-pair
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"retain-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"retain-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"retain-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
9unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"retain-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
10datum-allocateresult(0){"fixtureSite":"retain-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
11text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
12text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
13unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"retain-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
14datum-allocateresult(1){"fixtureSite":"retain-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}1
15text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
16text-scalar-scanargument(2) field(scan) scalar(1){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
17unicode-mapargument(2) field(map) scalar(0){"fixtureSite":"retain-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
18datum-allocateresult(2){"fixtureSite":"retain-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}2
19compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"retain-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
20call-returncall{"fixtureSite":"retain-call","role":"call-return","path":[]}null
결과#f
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": false
  }
}
추적 상세 1
{
  "case": "fold-third-argument-before-first-false-pair",
  "operation": "string-ci=?",
  "arguments": [
    {
      "kind": "string",
      "value": "B"
    },
    {
      "kind": "string",
      "value": "a"
    },
    {
      "kind": "string",
      "value": "ß"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "retain-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "retain-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "retain-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0062"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "retain-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0061",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "retain-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "retain-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+00DF",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "retain-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+0073",
            "U+0073"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "retain-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0062"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "retain-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": false
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci=?
third-domain-failure-before-any-fold · "B" "a" 7
string-ci=? · third-domain-failure-before-any-fold
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"retain-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"retain-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"retain-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7diagnostic-payloadargument(2){"fixtureSite":"retain-call","role":"diagnostic-payload","path":[{"kind":"argument","index":"2"}]}null
조건domain.type
결과 상세
{
  "kind": "language-failure",
  "valueCount": 0,
  "condition": {
    "phase": "evaluate",
    "code": "domain.type",
    "data": {
      "operation": "string-ci=?",
      "argument": "2",
      "path": [],
      "expected": "string",
      "actual": "integer"
    }
  }
}
추적 상세 2
{
  "case": "third-domain-failure-before-any-fold",
  "operation": "string-ci=?",
  "arguments": [
    {
      "kind": "string",
      "value": "B"
    },
    {
      "kind": "string",
      "value": "a"
    },
    {
      "kind": "integer",
      "value": "7"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "retain-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "diagnostic-payload",
      "site": {
        "fixtureSite": "retain-call",
        "role": "diagnostic-payload",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "condition": {
            "phase": "evaluate",
            "code": "domain.type",
            "data": {
              "operation": "string-ci=?",
              "argument": "2",
              "path": [],
              "expected": "string",
              "actual": "integer"
            }
          },
          "codec": "the selected complete diagnostic codec"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "language-failure",
    "valueCount": 0,
    "condition": {
      "phase": "evaluate",
      "code": "domain.type",
      "data": {
        "operation": "string-ci=?",
        "argument": "2",
        "path": [],
        "expected": "string",
        "actual": "integer"
      }
    }
  },
  "failureSite": {
    "fixtureSite": "retain-call",
    "role": "argument-check",
    "path": [
      {
        "kind": "argument",
        "index": "2"
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci=?
third-folded-result-stop-before-false-comparison · "B" "a" "ß"
string-ci=? · third-folded-result-stop-before-false-comparison
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"retain-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"retain-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"retain-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"retain-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
9unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"retain-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
10datum-allocateresult(0){"fixtureSite":"retain-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
11text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
12text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
13unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"retain-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
14datum-allocateresult(1){"fixtureSite":"retain-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}1
15text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
16text-scalar-scanargument(2) field(scan) scalar(1){"fixtureSite":"retain-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
17unicode-mapargument(2) field(map) scalar(0){"fixtureSite":"retain-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
18datum-allocateresult(2){"fixtureSite":"retain-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}2
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "string-ci=?",
  "event": "datum-allocate",
  "site": {
    "fixtureSite": "retain-call",
    "role": "datum-allocate",
    "path": [
      {
        "kind": "result",
        "index": "2"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 3
{
  "case": "third-folded-result-stop-before-false-comparison",
  "operation": "string-ci=?",
  "arguments": [
    {
      "kind": "string",
      "value": "B"
    },
    {
      "kind": "string",
      "value": "a"
    },
    {
      "kind": "string",
      "value": "ß"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "retain-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "retain-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "retain-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "retain-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0062"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "retain-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0061",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "retain-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "retain-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "retain-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+00DF",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "retain-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+0073",
            "U+0073"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "string-ci=?",
    "event": "datum-allocate",
    "site": {
      "fixtureSite": "retain-call",
      "role": "datum-allocate",
      "path": [
        {
          "kind": "result",
          "index": "2"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": false
      }
    },
    {
      "kind": "language-failure",
      "valueCount": 0,
      "condition": {
        "phase": "evaluate",
        "code": "domain.type",
        "data": {
          "operation": "string-ci=?",
          "argument": "2",
          "path": [],
          "expected": "string",
          "actual": "integer"
        }
      }
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "string-ci=?",
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "retain-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    }
  ]
}
제품 실행

예상 결과

All domains complete before each argument is folded and retained in its existing call position. Every fold precedes comparison, including when the first pair will be false. A later domain or result refusal keeps that earlier failure order. Product invocation awaits its 2.0 adapter.

All domains complete before each argument is folded and retained in its existing call position. Every fold precedes comparison, including when the first pair will be false. A later domain or result refusal keeps that earlier failure order.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

fold-third-argument-before-first-false-pair uses string-ci=? at retain-call.

The three domains complete first. B folds to b, a stays a, and sharp s folds to ss. Each completed folded string replaces only its own retained call operand. The third fold and result(2) complete before the first pair compares b with a and returns false. There is no comparison of arguments one and two.

Arguments: [{"kind":"string","value":"B"},{"kind":"string","value":"a"},{"kind":"string","value":"ß"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+0042"],"perOriginalScalarMappings":[["U+0062"]],"foldedScalars":["U+0062"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+0061"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":["U+00DF"],"perOriginalScalarMappings":[["U+0073","U+0073"]],"foldedScalars":["U+0073","U+0073"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"2","resultUtf8OctetCapacityBound":"8","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0042"}accepted
8text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
9unicode-mapargument(0), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0042","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
10datum-allocateresult(0)1{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"1","outputScalars":["U+0062"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0061"}accepted
12text-scalar-scanargument(1), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
13unicode-mapargument(1), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0061","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
14datum-allocateresult(1)1{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
15text-scalar-scanargument(2), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
16text-scalar-scanargument(2), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
17unicode-mapargument(2), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+00DF","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
18datum-allocateresult(2)2{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"2","outputScalars":["U+0073","U+0073"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
19compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0062"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
20call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":false}}.

third-domain-failure-before-any-fold uses string-ci=? at retain-call.

Argument two is an integer where a string is required. Its argument-check detects domain.type and the diagnostic payload is reserved at that argument path. No argument has been scanned, folded, or replaced, even though the first two strings would compare unequal.

Arguments: [{"kind":"string","value":"B"},{"kind":"string","value":"a"},{"kind":"integer","value":"7"}].

Mapping and context calculation: {"perArgument":[],"replacementOrder":[],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7diagnostic-payloadargument(2)—{"condition":{"phase":"evaluate","code":"domain.type","data":{"operation":"string-ci=?","argument":"2","path":[],"expected":"string","actual":"integer"}},"codec":"the selected complete diagnostic codec"}accepted

Outcome: {"kind":"language-failure","valueCount":0,"condition":{"phase":"evaluate","code":"domain.type","data":{"operation":"string-ci=?","argument":"2","path":[],"expected":"string","actual":"integer"}}}.

third-folded-result-stop-before-false-comparison uses string-ci=? at retain-call.

The first two folded results have been retained. The third argument sharp s folds to ss, then result(2) refuses its extent-two allocation. The call stops there. The unequal b/a pair has not been compared, so false cannot bypass the third folded result reservation.

Arguments: [{"kind":"string","value":"B"},{"kind":"string","value":"a"},{"kind":"string","value":"ß"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+0042"],"perOriginalScalarMappings":[["U+0062"]],"foldedScalars":["U+0062"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+0061"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":["U+00DF"],"perOriginalScalarMappings":[["U+0073","U+0073"]],"foldedScalars":["U+0073","U+0073"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"2","resultUtf8OctetCapacityBound":"8","replacementEvent":"datum-allocate","replacementCommitted":false}],"replacementOrder":["0","1"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0042"}accepted
8text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
9unicode-mapargument(0), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0042","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
10datum-allocateresult(0)1{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"1","outputScalars":["U+0062"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0061"}accepted
12text-scalar-scanargument(1), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
13unicode-mapargument(1), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0061","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
14datum-allocateresult(1)1{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
15text-scalar-scanargument(2), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
16text-scalar-scanargument(2), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
17unicode-mapargument(2), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+00DF","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
18datum-allocateresult(2)2{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"2","outputScalars":["U+0073","U+0073"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"string-ci=?","event":"datum-allocate","site":{"fixtureSite":"retain-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

근거 자료

Folded string result sites

lispex.example.v2.values.unicode-fold-result-site-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((result
              (string-ci=? input input input)))
        result)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "same-input-three-result-sites",
      "input": {
        "kind": "string",
        "value": "ßİ"
      }
    },
    {
      "case": "same-empty-input-three-result-sites",
      "input": {
        "kind": "string",
        "value": ""
      }
    },
    {
      "case": "second-shared-result-site-stop",
      "input": {
        "kind": "string",
        "value": "ßİ"
      },
      "resourceBoundary": {
        "event": "datum-allocate",
        "fixtureSite": "shared-input-call",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ],
        "axis": "allocation",
        "earlierReservations": "succeed through every preceding event in the selected call trace",
        "selectedReservation": "insufficient remaining allocation for the complete folded result of argument 1; no replacement for that position or later comparison occurs",
        "otherAxes": "sufficient"
      }
    }
  ],
  "fixtureSites": {
    "shared-input-call": "The string-ci=? call with the same input in all three argument positions, in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · string-ci=?
same-input-three-result-sites · "ßİ" "ßİ" "ßİ"
string-ci=? · same-input-three-result-sites
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"shared-input-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"shared-input-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"shared-input-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
9text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
10unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
11unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
12datum-allocateresult(0){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}4
13text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
14text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
15text-scalar-scanargument(1) field(scan) scalar(2){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
16unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
17unicode-mapargument(1) field(map) scalar(1){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
18datum-allocateresult(1){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}4
19text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
20text-scalar-scanargument(2) field(scan) scalar(1){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
21text-scalar-scanargument(2) field(scan) scalar(2){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
22unicode-mapargument(2) field(map) scalar(0){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
23unicode-mapargument(2) field(map) scalar(1){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
24datum-allocateresult(2){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}4
25compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
26compare-scalarfield(compare) argument(0) scalar(1){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"1"}]}null
27compare-scalarfield(compare) argument(0) scalar(2){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"2"}]}null
28compare-scalarfield(compare) argument(0) scalar(3){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"3"}]}null
29compare-scalarfield(compare) argument(0) scalar(4){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"4"}]}null
30compare-scalarfield(compare) argument(1) scalar(0){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"0"}]}null
31compare-scalarfield(compare) argument(1) scalar(1){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"1"}]}null
32compare-scalarfield(compare) argument(1) scalar(2){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"2"}]}null
33compare-scalarfield(compare) argument(1) scalar(3){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"3"}]}null
34compare-scalarfield(compare) argument(1) scalar(4){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"4"}]}null
35call-returncall{"fixtureSite":"shared-input-call","role":"call-return","path":[]}null
결과#t
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": true
  }
}
추적 상세 1
{
  "case": "same-input-three-result-sites",
  "operation": "string-ci=?",
  "arguments": [
    {
      "kind": "string",
      "value": "ßİ"
    },
    {
      "kind": "string",
      "value": "ßİ"
    },
    {
      "kind": "string",
      "value": "ßİ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+0073",
            "U+0073",
            "U+0069",
            "U+0307"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+0073",
            "U+0073",
            "U+0069",
            "U+0307"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+0073",
            "U+0073",
            "U+0069",
            "U+0307"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "1",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "2",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0069"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0069"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "3",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0307"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0307"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "4"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "4",
          "leftRead": {
            "kind": "end",
            "scalarIndex": "4"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "4"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "1",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0073"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "2",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0069"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0069"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "3",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0307"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0307"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "4"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "4",
          "leftRead": {
            "kind": "end",
            "scalarIndex": "4"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "4"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": true
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci=?
same-empty-input-three-result-sites · "" "" ""
string-ci=? · same-empty-input-three-result-sites
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"shared-input-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"shared-input-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"shared-input-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8datum-allocateresult(0){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}0
9text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
10datum-allocateresult(1){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}0
11text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
12datum-allocateresult(2){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}0
13compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
14compare-scalarfield(compare) argument(1) scalar(0){"fixtureSite":"shared-input-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"0"}]}null
15call-returncall{"fixtureSite":"shared-input-call","role":"call-return","path":[]}null
결과#t
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": true
  }
}
추적 상세 2
{
  "case": "same-empty-input-three-result-sites",
  "operation": "string-ci=?",
  "arguments": [
    {
      "kind": "string",
      "value": ""
    },
    {
      "kind": "string",
      "value": ""
    },
    {
      "kind": "string",
      "value": ""
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "end",
            "scalarIndex": "0"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "0"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "end",
            "scalarIndex": "0"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "0"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": true
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci=?
second-shared-result-site-stop · "ßİ" "ßİ" "ßİ"
string-ci=? · second-shared-result-site-stop
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"shared-input-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"shared-input-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"shared-input-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"shared-input-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
9text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
10unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
11unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
12datum-allocateresult(0){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}4
13text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
14text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
15text-scalar-scanargument(1) field(scan) scalar(2){"fixtureSite":"shared-input-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
16unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
17unicode-mapargument(1) field(map) scalar(1){"fixtureSite":"shared-input-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
18datum-allocateresult(1){"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}4
결과resource-stop · allocation
결과 상세
{
  "kind": "resource-stop",
  "valueCount": 0,
  "terminal": true,
  "axis": "allocation",
  "operation": "string-ci=?",
  "event": "datum-allocate",
  "site": {
    "fixtureSite": "shared-input-call",
    "role": "datum-allocate",
    "path": [
      {
        "kind": "result",
        "index": "1"
      }
    ]
  },
  "diagnosticIdentity": {
    "phase": "evaluate",
    "code": "resource.exhausted"
  },
  "partialResult": false
}
추적 상세 3
{
  "case": "second-shared-result-site-stop",
  "operation": "string-ci=?",
  "arguments": [
    {
      "kind": "string",
      "value": "ßİ"
    },
    {
      "kind": "string",
      "value": "ßİ"
    },
    {
      "kind": "string",
      "value": "ßİ"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+0073",
            "U+0073",
            "U+0069",
            "U+0307"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+00DF"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0130"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+00DF",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0130",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "4",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "4",
          "outputScalars": [
            "U+0073",
            "U+0073",
            "U+0069",
            "U+0307"
          ],
          "utf8CapacityBound": "16",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "refused"
      }
    }
  ],
  "outcome": {
    "kind": "resource-stop",
    "valueCount": 0,
    "terminal": true,
    "axis": "allocation",
    "operation": "string-ci=?",
    "event": "datum-allocate",
    "site": {
      "fixtureSite": "shared-input-call",
      "role": "datum-allocate",
      "path": [
        {
          "kind": "result",
          "index": "1"
        }
      ]
    },
    "diagnosticIdentity": {
      "phase": "evaluate",
      "code": "resource.exhausted"
    },
    "partialResult": false
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "kind": "resource-stop",
      "valueCount": 0,
      "terminal": true,
      "axis": "allocation",
      "operation": "string-ci=?",
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "shared-input-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "diagnosticIdentity": {
        "phase": "evaluate",
        "code": "resource.exhausted"
      },
      "partialResult": false
    }
  ]
}
제품 실행

예상 결과

Each folded string result uses result(i) for its original argument position. Repeated handles and empty strings preserve all argument-specific result reservations. Refusal keeps the exact generated-result site. Product invocation awaits its 2.0 adapter.

Each folded string result uses result(i) for its original argument position. Repeated handles and empty strings preserve all argument-specific result reservations. Refusal keeps the exact generated-result site.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

same-input-three-result-sites uses string-ci=? at shared-input-call.

One input value supplies all three argument positions. Each occurrence still scans the original two scalars, reserves its own capacity-six scratch, folds to s s i U+0307, and allocates extent four at result(0), result(1), or result(2). Each adjacent comparison reads four equal scalars and both ends. Sharing neither skips an event nor changes the original input.

Arguments: [{"kind":"string","value":"ßİ"},{"kind":"string","value":"ßİ"},{"kind":"string","value":"ßİ"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+00DF","U+0130"],"perOriginalScalarMappings":[["U+0073","U+0073"],["U+0069","U+0307"]],"foldedScalars":["U+0073","U+0073","U+0069","U+0307"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"4","resultUtf8OctetCapacityBound":"16","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+00DF","U+0130"],"perOriginalScalarMappings":[["U+0073","U+0073"],["U+0069","U+0307"]],"foldedScalars":["U+0073","U+0073","U+0069","U+0307"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"4","resultUtf8OctetCapacityBound":"16","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":["U+00DF","U+0130"],"perOriginalScalarMappings":[["U+0073","U+0073"],["U+0069","U+0307"]],"foldedScalars":["U+0073","U+0073","U+0069","U+0307"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"4","resultUtf8OctetCapacityBound":"16","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
8text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0130"}accepted
9text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
10unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
11unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0130","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
12datum-allocateresult(0)4{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"4","outputScalars":["U+0073","U+0073","U+0069","U+0307"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
13text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
14text-scalar-scanargument(1), field(scan), scalar(1)—{"scalar":"U+0130"}accepted
15text-scalar-scanargument(1), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
16unicode-mapargument(1), field(map), scalar(0)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
17unicode-mapargument(1), field(map), scalar(1)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0130","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
18datum-allocateresult(1)4{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"4","outputScalars":["U+0073","U+0073","U+0069","U+0307"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
19text-scalar-scanargument(2), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
20text-scalar-scanargument(2), field(scan), scalar(1)—{"scalar":"U+0130"}accepted
21text-scalar-scanargument(2), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
22unicode-mapargument(2), field(map), scalar(0)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
23unicode-mapargument(2), field(map), scalar(1)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0130","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
24datum-allocateresult(2)4{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"4","outputScalars":["U+0073","U+0073","U+0069","U+0307"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
25compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0073"},"rightRead":{"kind":"scalar","scalar":"U+0073"}}accepted
26compare-scalarfield(compare), argument(0), scalar(1)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"1","leftRead":{"kind":"scalar","scalar":"U+0073"},"rightRead":{"kind":"scalar","scalar":"U+0073"}}accepted
27compare-scalarfield(compare), argument(0), scalar(2)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"2","leftRead":{"kind":"scalar","scalar":"U+0069"},"rightRead":{"kind":"scalar","scalar":"U+0069"}}accepted
28compare-scalarfield(compare), argument(0), scalar(3)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"3","leftRead":{"kind":"scalar","scalar":"U+0307"},"rightRead":{"kind":"scalar","scalar":"U+0307"}}accepted
29compare-scalarfield(compare), argument(0), scalar(4)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"4","leftRead":{"kind":"end","scalarIndex":"4"},"rightRead":{"kind":"end","scalarIndex":"4"}}accepted
30compare-scalarfield(compare), argument(1), scalar(0)—{"operation":"string-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0073"},"rightRead":{"kind":"scalar","scalar":"U+0073"}}accepted
31compare-scalarfield(compare), argument(1), scalar(1)—{"operation":"string-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"1","leftRead":{"kind":"scalar","scalar":"U+0073"},"rightRead":{"kind":"scalar","scalar":"U+0073"}}accepted
32compare-scalarfield(compare), argument(1), scalar(2)—{"operation":"string-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"2","leftRead":{"kind":"scalar","scalar":"U+0069"},"rightRead":{"kind":"scalar","scalar":"U+0069"}}accepted
33compare-scalarfield(compare), argument(1), scalar(3)—{"operation":"string-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"3","leftRead":{"kind":"scalar","scalar":"U+0307"},"rightRead":{"kind":"scalar","scalar":"U+0307"}}accepted
34compare-scalarfield(compare), argument(1), scalar(4)—{"operation":"string-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"4","leftRead":{"kind":"end","scalarIndex":"4"},"rightRead":{"kind":"end","scalarIndex":"4"}}accepted
35call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":true}}.

same-empty-input-three-result-sites uses string-ci=? at shared-input-call.

Each empty original input performs one required-end scan and one extent-zero result allocation at its own argument-indexed result site. There is no mapping scratch. Two compare-scalar events each read the left end and then the right end at scalar zero. The three empty-result reservations are distinct and still require their complete aggregate storage.

Arguments: [{"kind":"string","value":""},{"kind":"string","value":""},{"kind":"string","value":""}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":[],"perOriginalScalarMappings":[],"foldedScalars":[],"n":"0","D":"3","scratchScalarCapacity":"0","m":"0","resultUtf8OctetCapacityBound":"0","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":[],"perOriginalScalarMappings":[],"foldedScalars":[],"n":"0","D":"3","scratchScalarCapacity":"0","m":"0","resultUtf8OctetCapacityBound":"0","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":[],"perOriginalScalarMappings":[],"foldedScalars":[],"n":"0","D":"3","scratchScalarCapacity":"0","m":"0","resultUtf8OctetCapacityBound":"0","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"requiredEnd":"0","inputScalarCount":"0"}accepted
8datum-allocateresult(0)0{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9text-scalar-scanargument(1), field(scan), scalar(0)—{"requiredEnd":"0","inputScalarCount":"0"}accepted
10datum-allocateresult(1)0{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11text-scalar-scanargument(2), field(scan), scalar(0)—{"requiredEnd":"0","inputScalarCount":"0"}accepted
12datum-allocateresult(2)0{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
13compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"end","scalarIndex":"0"},"rightRead":{"kind":"end","scalarIndex":"0"}}accepted
14compare-scalarfield(compare), argument(1), scalar(0)—{"operation":"string-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"end","scalarIndex":"0"},"rightRead":{"kind":"end","scalarIndex":"0"}}accepted
15call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":true}}.

second-shared-result-site-stop uses string-ci=? at shared-input-call.

Every domain succeeds. Argument zero completes its extent-four result(0). Argument one performs its own original scan and maps; result(1) then refuses extent four. Argument two has no scan or map, and no comparison begins. A shared input cannot reuse result(0) to avoid this refusal.

Arguments: [{"kind":"string","value":"ßİ"},{"kind":"string","value":"ßİ"},{"kind":"string","value":"ßİ"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+00DF","U+0130"],"perOriginalScalarMappings":[["U+0073","U+0073"],["U+0069","U+0307"]],"foldedScalars":["U+0073","U+0073","U+0069","U+0307"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"4","resultUtf8OctetCapacityBound":"16","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+00DF","U+0130"],"perOriginalScalarMappings":[["U+0073","U+0073"],["U+0069","U+0307"]],"foldedScalars":["U+0073","U+0073","U+0069","U+0307"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"4","resultUtf8OctetCapacityBound":"16","replacementEvent":"datum-allocate","replacementCommitted":false}],"replacementOrder":["0"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
8text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0130"}accepted
9text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
10unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
11unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0130","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
12datum-allocateresult(0)4{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"4","outputScalars":["U+0073","U+0073","U+0069","U+0307"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
13text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+00DF"}accepted
14text-scalar-scanargument(1), field(scan), scalar(1)—{"scalar":"U+0130"}accepted
15text-scalar-scanargument(1), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
16unicode-mapargument(1), field(map), scalar(0)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+00DF","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
17unicode-mapargument(1), field(map), scalar(1)2{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0130","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
18datum-allocateresult(1)4{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"4","outputScalars":["U+0073","U+0073","U+0069","U+0307"],"utf8CapacityBound":"16","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}refused

Outcome: {"kind":"resource-stop","valueCount":0,"terminal":true,"axis":"allocation","operation":"string-ci=?","event":"datum-allocate","site":{"fixtureSite":"shared-input-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]},"diagnosticIdentity":{"phase":"evaluate","code":"resource.exhausted"},"partialResult":false}.

근거 자료

Folded scalar and end comparisons

lispex.example.v2.values.unicode-fold-comparison-event-traces · 1판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      (let ((result
              (cond
                ((= (vector-ref input 0) 0) (string-ci<? (vector-ref input 1) (vector-ref input 2) (vector-ref input 3)))
                ((= (vector-ref input 0) 1) (string-ci>? (vector-ref input 1) (vector-ref input 2) (vector-ref input 3)))
                ((= (vector-ref input 0) 2) (string-ci=? (vector-ref input 1) (vector-ref input 2) (vector-ref input 3) (vector-ref input 4)))
                (else (char-ci=? (vector-ref input 1) (vector-ref input 2) (vector-ref input 3))))))
        result)))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ],
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "Unicode 17.0.0",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the complete request unless a case selects a refusal"
  },
  "requests": [
    {
      "case": "empty-left-still-reads-right",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": ""
          },
          {
            "kind": "string",
            "value": "A"
          },
          {
            "kind": "string",
            "value": "B"
          }
        ]
      }
    },
    {
      "case": "nonempty-left-reads-right-end",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "B"
          },
          {
            "kind": "string",
            "value": "A"
          },
          {
            "kind": "string",
            "value": ""
          }
        ]
      }
    },
    {
      "case": "shorter-prefix-and-next-pair-restart",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "0"
          },
          {
            "kind": "string",
            "value": "A"
          },
          {
            "kind": "string",
            "value": "Aa"
          },
          {
            "kind": "string",
            "value": "AB"
          }
        ]
      }
    },
    {
      "case": "longer-left-prefix-and-next-pair-restart",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "1"
          },
          {
            "kind": "string",
            "value": "AB"
          },
          {
            "kind": "string",
            "value": "A"
          },
          {
            "kind": "string",
            "value": ""
          }
        ]
      }
    },
    {
      "case": "four-arguments-stop-at-second-false-pair",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "2"
          },
          {
            "kind": "string",
            "value": "A"
          },
          {
            "kind": "string",
            "value": "a"
          },
          {
            "kind": "string",
            "value": "B"
          },
          {
            "kind": "string",
            "value": "a"
          }
        ]
      }
    },
    {
      "case": "three-character-simple-folds-before-comparison",
      "input": {
        "kind": "vector",
        "items": [
          {
            "kind": "integer",
            "value": "3"
          },
          {
            "kind": "character",
            "value": "A"
          },
          {
            "kind": "character",
            "value": "a"
          },
          {
            "kind": "character",
            "value": "B"
          }
        ]
      }
    }
  ],
  "fixtureSites": {
    "less-call": "The string-ci<? call in the result initializer.",
    "greater-call": "The string-ci>? call in the result initializer.",
    "equal-four-call": "The four-argument string-ci=? call in the result initializer.",
    "char-call": "The char-ci=? call in the result initializer."
  },
  "traceScope": {
    "start": "callable-check after completed operator and operand evaluation",
    "end": "call-return or the committed first failure",
    "selectedCalls": "all mapped calls are in the initializer of result and are nontail",
    "otherRequestEvents": "retain their declared reservations outside this call trace"
  }
}
사건 내역 · string-ci<?
empty-left-still-reads-right · "" "A" "B"
string-ci<? · empty-left-still-reads-right
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"less-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"less-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"less-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"less-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"less-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"less-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8datum-allocateresult(0){"fixtureSite":"less-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}0
9text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
10text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
11unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"less-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
12datum-allocateresult(1){"fixtureSite":"less-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}1
13text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
14text-scalar-scanargument(2) field(scan) scalar(1){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
15unicode-mapargument(2) field(map) scalar(0){"fixtureSite":"less-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
16datum-allocateresult(2){"fixtureSite":"less-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}1
17compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"less-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
18compare-scalarfield(compare) argument(1) scalar(0){"fixtureSite":"less-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"0"}]}null
19call-returncall{"fixtureSite":"less-call","role":"call-return","path":[]}null
결과#t
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": true
  }
}
추적 상세 1
{
  "case": "empty-left-still-reads-right",
  "operation": "string-ci<?",
  "arguments": [
    {
      "kind": "string",
      "value": ""
    },
    {
      "kind": "string",
      "value": "A"
    },
    {
      "kind": "string",
      "value": "B"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci<?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "less-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "less-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "less-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci<?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "less-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "less-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci<?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "less-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0062"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "less-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci<?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "end",
            "scalarIndex": "0"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "less-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci<?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0062"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "less-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": true
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci>?
nonempty-left-reads-right-end · "B" "A" ""
string-ci>? · nonempty-left-reads-right-end
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"greater-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"greater-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"greater-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"greater-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"greater-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"greater-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
9unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"greater-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
10datum-allocateresult(0){"fixtureSite":"greater-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
11text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
12text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
13unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"greater-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
14datum-allocateresult(1){"fixtureSite":"greater-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}1
15text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
16datum-allocateresult(2){"fixtureSite":"greater-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}0
17compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"greater-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
18compare-scalarfield(compare) argument(1) scalar(0){"fixtureSite":"greater-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"0"}]}null
19call-returncall{"fixtureSite":"greater-call","role":"call-return","path":[]}null
결과#t
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": true
  }
}
추적 상세 2
{
  "case": "nonempty-left-reads-right-end",
  "operation": "string-ci>?",
  "arguments": [
    {
      "kind": "string",
      "value": "B"
    },
    {
      "kind": "string",
      "value": "A"
    },
    {
      "kind": "string",
      "value": ""
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci>?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "greater-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "greater-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci>?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "greater-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0062"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "greater-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci>?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "greater-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "greater-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "greater-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci>?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0062"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "greater-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci>?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "0"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "greater-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": true
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci<?
shorter-prefix-and-next-pair-restart · "A" "Aa" "AB"
string-ci<? · shorter-prefix-and-next-pair-restart
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"less-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"less-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"less-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"less-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"less-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"less-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
9unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"less-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
10datum-allocateresult(0){"fixtureSite":"less-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
11text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
12text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
13text-scalar-scanargument(1) field(scan) scalar(2){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
14unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"less-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
15unicode-mapargument(1) field(map) scalar(1){"fixtureSite":"less-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
16datum-allocateresult(1){"fixtureSite":"less-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}2
17text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
18text-scalar-scanargument(2) field(scan) scalar(1){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
19text-scalar-scanargument(2) field(scan) scalar(2){"fixtureSite":"less-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
20unicode-mapargument(2) field(map) scalar(0){"fixtureSite":"less-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
21unicode-mapargument(2) field(map) scalar(1){"fixtureSite":"less-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
22datum-allocateresult(2){"fixtureSite":"less-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}2
23compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"less-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
24compare-scalarfield(compare) argument(0) scalar(1){"fixtureSite":"less-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"1"}]}null
25compare-scalarfield(compare) argument(1) scalar(0){"fixtureSite":"less-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"0"}]}null
26compare-scalarfield(compare) argument(1) scalar(1){"fixtureSite":"less-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"1"}]}null
27call-returncall{"fixtureSite":"less-call","role":"call-return","path":[]}null
결과#t
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": true
  }
}
추적 상세 3
{
  "case": "shorter-prefix-and-next-pair-restart",
  "operation": "string-ci<?",
  "arguments": [
    {
      "kind": "string",
      "value": "A"
    },
    {
      "kind": "string",
      "value": "Aa"
    },
    {
      "kind": "string",
      "value": "AB"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci<?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "less-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "less-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "less-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci<?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "less-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "less-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci<?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "less-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci<?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0061",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "less-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+0061",
            "U+0061"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "less-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "less-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci<?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "less-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci<?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "less-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+0061",
            "U+0062"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "less-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci<?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "less-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci<?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "1",
          "leftRead": {
            "kind": "end",
            "scalarIndex": "1"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "less-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci<?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "less-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci<?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "1",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0062"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "less-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": true
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci>?
longer-left-prefix-and-next-pair-restart · "AB" "A" ""
string-ci>? · longer-left-prefix-and-next-pair-restart
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"greater-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"greater-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"greater-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"greater-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"greater-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"greater-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
9text-scalar-scanargument(0) field(scan) scalar(2){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"2"}]}null
10unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"greater-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}2
11unicode-mapargument(0) field(map) scalar(1){"fixtureSite":"greater-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"1"}]}2
12datum-allocateresult(0){"fixtureSite":"greater-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}2
13text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
14text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
15unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"greater-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
16datum-allocateresult(1){"fixtureSite":"greater-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}1
17text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"greater-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
18datum-allocateresult(2){"fixtureSite":"greater-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}0
19compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"greater-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
20compare-scalarfield(compare) argument(0) scalar(1){"fixtureSite":"greater-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"1"}]}null
21compare-scalarfield(compare) argument(1) scalar(0){"fixtureSite":"greater-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"0"}]}null
22call-returncall{"fixtureSite":"greater-call","role":"call-return","path":[]}null
결과#t
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": true
  }
}
추적 상세 4
{
  "case": "longer-left-prefix-and-next-pair-restart",
  "operation": "string-ci>?",
  "arguments": [
    {
      "kind": "string",
      "value": "AB"
    },
    {
      "kind": "string",
      "value": "A"
    },
    {
      "kind": "string",
      "value": ""
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci>?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "greater-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "greater-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "2",
          "inputScalarCount": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "greater-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci>?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "greater-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "operation": "string-ci>?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "2",
          "mappingBound": "3",
          "scratchScalarCapacity": "6",
          "reserveScratch": false,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "greater-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "2",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "2",
          "outputScalars": [
            "U+0061",
            "U+0062"
          ],
          "utf8CapacityBound": "8",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "greater-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci>?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "greater-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "greater-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "0",
          "inputScalarCount": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "greater-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "0",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "0",
          "outputScalars": [],
          "utf8CapacityBound": "0",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "greater-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci>?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "greater-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci>?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "1",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0062"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "1"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "greater-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci>?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "0"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "greater-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": true
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · string-ci=?
four-arguments-stop-at-second-false-pair · "A" "a" "B" "a"
string-ci=? · four-arguments-stop-at-second-false-pair
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"equal-four-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"equal-four-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"equal-four-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"equal-four-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"equal-four-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"equal-four-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7argument-checkargument(3){"fixtureSite":"equal-four-call","role":"argument-check","path":[{"kind":"argument","index":"3"}]}null
8text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
9text-scalar-scanargument(0) field(scan) scalar(1){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
10unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"equal-four-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
11datum-allocateresult(0){"fixtureSite":"equal-four-call","role":"datum-allocate","path":[{"kind":"result","index":"0"}]}1
12text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
13text-scalar-scanargument(1) field(scan) scalar(1){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
14unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"equal-four-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
15datum-allocateresult(1){"fixtureSite":"equal-four-call","role":"datum-allocate","path":[{"kind":"result","index":"1"}]}1
16text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
17text-scalar-scanargument(2) field(scan) scalar(1){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
18unicode-mapargument(2) field(map) scalar(0){"fixtureSite":"equal-four-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
19datum-allocateresult(2){"fixtureSite":"equal-four-call","role":"datum-allocate","path":[{"kind":"result","index":"2"}]}1
20text-scalar-scanargument(3) field(scan) scalar(0){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"3"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
21text-scalar-scanargument(3) field(scan) scalar(1){"fixtureSite":"equal-four-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"3"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"1"}]}null
22unicode-mapargument(3) field(map) scalar(0){"fixtureSite":"equal-four-call","role":"unicode-map","path":[{"kind":"argument","index":"3"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
23datum-allocateresult(3){"fixtureSite":"equal-four-call","role":"datum-allocate","path":[{"kind":"result","index":"3"}]}1
24compare-scalarfield(compare) argument(0) scalar(0){"fixtureSite":"equal-four-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"0"}]}null
25compare-scalarfield(compare) argument(0) scalar(1){"fixtureSite":"equal-four-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"},{"kind":"scalar","index":"1"}]}null
26compare-scalarfield(compare) argument(1) scalar(0){"fixtureSite":"equal-four-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"},{"kind":"scalar","index":"0"}]}null
27call-returncall{"fixtureSite":"equal-four-call","role":"call-return","path":[]}null
결과#f
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": false
  }
}
추적 상세 5
{
  "case": "four-arguments-stop-at-second-false-pair",
  "operation": "string-ci=?",
  "arguments": [
    {
      "kind": "string",
      "value": "A"
    },
    {
      "kind": "string",
      "value": "a"
    },
    {
      "kind": "string",
      "value": "B"
    },
    {
      "kind": "string",
      "value": "a"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "string-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "4"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "4",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "T"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "0",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0061",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "1",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "2",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0062"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "3"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "3"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "requiredEnd": "1",
          "inputScalarCount": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "3"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "string-ci=?",
          "mapping": "full-fold",
          "statuses": [
            "C",
            "F"
          ],
          "scalar": "U+0061",
          "inputScalarCount": "1",
          "mappingBound": "3",
          "scratchScalarCapacity": "3",
          "reserveScratch": true,
          "contextScalarVisitBound": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "datum-allocate",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "datum-allocate",
        "path": [
          {
            "kind": "result",
            "index": "3"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "shape": "string",
          "retainedOperandPosition": "3",
          "outputScalarCount": "1",
          "outputScalars": [
            "U+0061"
          ],
          "utf8CapacityBound": "4",
          "completeStorage": "immutable string header, value slot, encoding work, and temporary materialization storage"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "scalar",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "1",
          "leftRead": {
            "kind": "end",
            "scalarIndex": "1"
          },
          "rightRead": {
            "kind": "end",
            "scalarIndex": "1"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "string-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "scalarIndex": "0",
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0062"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "equal-four-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": false
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

사건 내역 · char-ci=?
three-character-simple-folds-before-comparison · #\A #\a #\B
char-ci=? · three-character-simple-folds-before-comparison
번호사건위치크기
1callable-checkfield(operator){"fixtureSite":"char-call","role":"callable-check","path":[{"kind":"field","name":"operator"}]}null
2arity-checkcall{"fixtureSite":"char-call","role":"arity-check","path":[]}null
3callcall{"fixtureSite":"char-call","role":"call","path":[]}null
4argument-checkargument(0){"fixtureSite":"char-call","role":"argument-check","path":[{"kind":"argument","index":"0"}]}null
5argument-checkargument(1){"fixtureSite":"char-call","role":"argument-check","path":[{"kind":"argument","index":"1"}]}null
6argument-checkargument(2){"fixtureSite":"char-call","role":"argument-check","path":[{"kind":"argument","index":"2"}]}null
7text-scalar-scanargument(0) field(scan) scalar(0){"fixtureSite":"char-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
8unicode-mapargument(0) field(map) scalar(0){"fixtureSite":"char-call","role":"unicode-map","path":[{"kind":"argument","index":"0"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
9text-scalar-scanargument(1) field(scan) scalar(0){"fixtureSite":"char-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
10unicode-mapargument(1) field(map) scalar(0){"fixtureSite":"char-call","role":"unicode-map","path":[{"kind":"argument","index":"1"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
11text-scalar-scanargument(2) field(scan) scalar(0){"fixtureSite":"char-call","role":"text-scalar-scan","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"scan"},{"kind":"scalar","index":"0"}]}null
12unicode-mapargument(2) field(map) scalar(0){"fixtureSite":"char-call","role":"unicode-map","path":[{"kind":"argument","index":"2"},{"kind":"field","name":"map"},{"kind":"scalar","index":"0"}]}1
13compare-scalarfield(compare) argument(0){"fixtureSite":"char-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"0"}]}null
14compare-scalarfield(compare) argument(1){"fixtureSite":"char-call","role":"compare-scalar","path":[{"kind":"field","name":"compare"},{"kind":"argument","index":"1"}]}null
15call-returncall{"fixtureSite":"char-call","role":"call-return","path":[]}null
결과#f
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "boolean",
    "value": false
  }
}
추적 상세 6
{
  "case": "three-character-simple-folds-before-comparison",
  "operation": "char-ci=?",
  "arguments": [
    {
      "kind": "character",
      "value": "A"
    },
    {
      "kind": "character",
      "value": "a"
    },
    {
      "kind": "character",
      "value": "B"
    }
  ],
  "events": [
    {
      "event": "callable-check",
      "site": {
        "fixtureSite": "char-call",
        "role": "callable-check",
        "path": [
          {
            "kind": "field",
            "name": "operator"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "procedure": "char-ci=?"
        },
        "status": "accepted"
      }
    },
    {
      "event": "arity-check",
      "site": {
        "fixtureSite": "char-call",
        "role": "arity-check",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3"
        },
        "status": "accepted"
      }
    },
    {
      "event": "call",
      "site": {
        "fixtureSite": "char-call",
        "role": "call",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "suppliedArguments": "3",
          "tail": false
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "char-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "C"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "char-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "C"
        },
        "status": "accepted"
      }
    },
    {
      "event": "argument-check",
      "site": {
        "fixtureSite": "char-call",
        "role": "argument-check",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "domain": "C"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "char-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0041"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "char-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "0"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "char-ci=?",
          "mapping": "simple-fold",
          "statuses": [
            "C",
            "S"
          ],
          "scalar": "U+0041",
          "inputScalarCount": "1",
          "retainedOperandPosition": "0"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "char-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0061"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "char-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "1"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "char-ci=?",
          "mapping": "simple-fold",
          "statuses": [
            "C",
            "S"
          ],
          "scalar": "U+0061",
          "inputScalarCount": "1",
          "retainedOperandPosition": "1"
        },
        "status": "accepted"
      }
    },
    {
      "event": "text-scalar-scan",
      "site": {
        "fixtureSite": "char-call",
        "role": "text-scalar-scan",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "scan"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "scalar": "U+0042"
        },
        "status": "accepted"
      }
    },
    {
      "event": "unicode-map",
      "site": {
        "fixtureSite": "char-call",
        "role": "unicode-map",
        "path": [
          {
            "kind": "argument",
            "index": "2"
          },
          {
            "kind": "field",
            "name": "map"
          },
          {
            "kind": "scalar",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": "1",
        "inputs": {
          "operation": "char-ci=?",
          "mapping": "simple-fold",
          "statuses": [
            "C",
            "S"
          ],
          "scalar": "U+0042",
          "inputScalarCount": "1",
          "retainedOperandPosition": "2"
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "char-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "0"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "char-ci=?",
          "leftArgument": "0",
          "rightArgument": "1",
          "readOrder": [
            "left",
            "right"
          ],
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "compare-scalar",
      "site": {
        "fixtureSite": "char-call",
        "role": "compare-scalar",
        "path": [
          {
            "kind": "field",
            "name": "compare"
          },
          {
            "kind": "argument",
            "index": "1"
          }
        ]
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "operation": "char-ci=?",
          "leftArgument": "1",
          "rightArgument": "2",
          "readOrder": [
            "left",
            "right"
          ],
          "leftRead": {
            "kind": "scalar",
            "scalar": "U+0061"
          },
          "rightRead": {
            "kind": "scalar",
            "scalar": "U+0062"
          }
        },
        "status": "accepted"
      }
    },
    {
      "event": "call-return",
      "site": {
        "fixtureSite": "char-call",
        "role": "call-return",
        "path": []
      },
      "reservation": {
        "extent": null,
        "inputs": {
          "valueCount": "1"
        },
        "status": "accepted"
      }
    }
  ],
  "outcome": {
    "kind": "value",
    "valueCount": 1,
    "datum": {
      "kind": "boolean",
      "value": false
    }
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

의미 상세
{
  "outcomes": [
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": true
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": false
      }
    },
    {
      "kind": "value",
      "valueCount": 1,
      "datum": {
        "kind": "boolean",
        "value": false
      }
    }
  ]
}
제품 실행

예상 결과

Each folded comparison position reserves both reads in one compare-scalar event, left before right. Ends distinguish equality and prefixes. Each adjacent pair restarts at scalar zero and the first false pair stops comparison. Product invocation awaits its 2.0 adapter.

Each folded comparison position reserves both reads in one compare-scalar event, left before right. Ends distinguish equality and prefixes. Each adjacent pair restarts at scalar zero and the first false pair stops comparison.

Each table gives the complete selected call trace from callable-check after operand evaluation through call-return or the committed failure. Every selected call is nontail. Input decoding, module initialization, operand evaluation, the enclosing let, and result encoding retain their own events in the complete request.

The request maps each fixtureSite label to one original call occurrence. Every row uses that occurrence and its exact event name as the site role. The path column gives its complete typed suffix. Extent counts declared semantic components: one scalar for a scalar map, original n scalars for each full map or normalization, and actual m scalars for a string result. A dash means null, with the complete event reservation still required. Extent zero retains the complete empty-result or empty-transformation requirements. The selected model supplies every requirement vector. The table inputs and fixture labels are documentation notation, not additional canonical site fields.

The calculations use the frozen Unicode 17.0.0 raw data and the declared reservation rules. A refused event performs none of its proposed effects.

empty-left-still-reads-right uses string-ci<? at less-call.

All three values fold before comparison. The first compare-scalar reads the left end and the right scalar a at index zero, so the empty string sorts first. The next pair restarts at zero and reads a then b. Both adjacent less-than relations are true.

Arguments: [{"kind":"string","value":""},{"kind":"string","value":"A"},{"kind":"string","value":"B"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":[],"perOriginalScalarMappings":[],"foldedScalars":[],"n":"0","D":"3","scratchScalarCapacity":"0","m":"0","resultUtf8OctetCapacityBound":"0","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+0041"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":["U+0042"],"perOriginalScalarMappings":[["U+0062"]],"foldedScalars":["U+0062"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci<?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"requiredEnd":"0","inputScalarCount":"0"}accepted
8datum-allocateresult(0)0{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
9text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
10text-scalar-scanargument(1), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
11unicode-mapargument(1), field(map), scalar(0)1{"operation":"string-ci<?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
12datum-allocateresult(1)1{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
13text-scalar-scanargument(2), field(scan), scalar(0)—{"scalar":"U+0042"}accepted
14text-scalar-scanargument(2), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
15unicode-mapargument(2), field(map), scalar(0)1{"operation":"string-ci<?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0042","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
16datum-allocateresult(2)1{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"1","outputScalars":["U+0062"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
17compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci<?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"end","scalarIndex":"0"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
18compare-scalarfield(compare), argument(1), scalar(0)—{"operation":"string-ci<?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0062"}}accepted
19call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":true}}.

nonempty-left-reads-right-end uses string-ci>? at greater-call.

B and A fold to b and a. The empty third argument still receives result(2) with extent zero. The first pair reads b then a. The second reads a then the right end at zero. Both greater-than relations are true.

Arguments: [{"kind":"string","value":"B"},{"kind":"string","value":"A"},{"kind":"string","value":""}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+0042"],"perOriginalScalarMappings":[["U+0062"]],"foldedScalars":["U+0062"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+0041"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":[],"perOriginalScalarMappings":[],"foldedScalars":[],"n":"0","D":"3","scratchScalarCapacity":"0","m":"0","resultUtf8OctetCapacityBound":"0","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci>?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0042"}accepted
8text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
9unicode-mapargument(0), field(map), scalar(0)1{"operation":"string-ci>?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0042","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
10datum-allocateresult(0)1{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"1","outputScalars":["U+0062"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
12text-scalar-scanargument(1), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
13unicode-mapargument(1), field(map), scalar(0)1{"operation":"string-ci>?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
14datum-allocateresult(1)1{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
15text-scalar-scanargument(2), field(scan), scalar(0)—{"requiredEnd":"0","inputScalarCount":"0"}accepted
16datum-allocateresult(2)0{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
17compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci>?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0062"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
18compare-scalarfield(compare), argument(1), scalar(0)—{"operation":"string-ci>?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"end","scalarIndex":"0"}}accepted
19call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":true}}.

shorter-prefix-and-next-pair-restart uses string-ci<? at less-call.

The folded strings are a, aa, and ab. Pair zero reads equal a scalars, then the left end and right a. Pair one restarts at zero, reads equal a scalars, then a and b. The shorter equal prefix and the later unequal pair both satisfy less-than.

Arguments: [{"kind":"string","value":"A"},{"kind":"string","value":"Aa"},{"kind":"string","value":"AB"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+0041"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+0041","U+0061"],"perOriginalScalarMappings":[["U+0061"],["U+0061"]],"foldedScalars":["U+0061","U+0061"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"2","resultUtf8OctetCapacityBound":"8","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":["U+0041","U+0042"],"perOriginalScalarMappings":[["U+0061"],["U+0062"]],"foldedScalars":["U+0061","U+0062"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"2","resultUtf8OctetCapacityBound":"8","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci<?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
8text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
9unicode-mapargument(0), field(map), scalar(0)1{"operation":"string-ci<?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
10datum-allocateresult(0)1{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
11text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
12text-scalar-scanargument(1), field(scan), scalar(1)—{"scalar":"U+0061"}accepted
13text-scalar-scanargument(1), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
14unicode-mapargument(1), field(map), scalar(0)2{"operation":"string-ci<?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
15unicode-mapargument(1), field(map), scalar(1)2{"operation":"string-ci<?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0061","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
16datum-allocateresult(1)2{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"2","outputScalars":["U+0061","U+0061"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
17text-scalar-scanargument(2), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
18text-scalar-scanargument(2), field(scan), scalar(1)—{"scalar":"U+0042"}accepted
19text-scalar-scanargument(2), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
20unicode-mapargument(2), field(map), scalar(0)2{"operation":"string-ci<?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
21unicode-mapargument(2), field(map), scalar(1)2{"operation":"string-ci<?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0042","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
22datum-allocateresult(2)2{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"2","outputScalars":["U+0061","U+0062"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
23compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci<?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
24compare-scalarfield(compare), argument(0), scalar(1)—{"operation":"string-ci<?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"1","leftRead":{"kind":"end","scalarIndex":"1"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
25compare-scalarfield(compare), argument(1), scalar(0)—{"operation":"string-ci<?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
26compare-scalarfield(compare), argument(1), scalar(1)—{"operation":"string-ci<?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"1","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0062"}}accepted
27call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":true}}.

longer-left-prefix-and-next-pair-restart uses string-ci>? at greater-call.

The folded strings are ab, a, and empty. Pair zero reads equal a scalars, then b and the right end. Pair one restarts at zero and reads a then the right end. Both greater-than relations are true, with both reads inside each compare-scalar reservation.

Arguments: [{"kind":"string","value":"AB"},{"kind":"string","value":"A"},{"kind":"string","value":""}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+0041","U+0042"],"perOriginalScalarMappings":[["U+0061"],["U+0062"]],"foldedScalars":["U+0061","U+0062"],"n":"2","D":"3","scratchScalarCapacity":"6","m":"2","resultUtf8OctetCapacityBound":"8","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+0041"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":[],"perOriginalScalarMappings":[],"foldedScalars":[],"n":"0","D":"3","scratchScalarCapacity":"0","m":"0","resultUtf8OctetCapacityBound":"0","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci>?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
8text-scalar-scanargument(0), field(scan), scalar(1)—{"scalar":"U+0042"}accepted
9text-scalar-scanargument(0), field(scan), scalar(2)—{"requiredEnd":"2","inputScalarCount":"2"}accepted
10unicode-mapargument(0), field(map), scalar(0)2{"operation":"string-ci>?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
11unicode-mapargument(0), field(map), scalar(1)2{"operation":"string-ci>?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0042","inputScalarCount":"2","mappingBound":"3","scratchScalarCapacity":"6","reserveScratch":false,"contextScalarVisitBound":"0"}accepted
12datum-allocateresult(0)2{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"2","outputScalars":["U+0061","U+0062"],"utf8CapacityBound":"8","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
13text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
14text-scalar-scanargument(1), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
15unicode-mapargument(1), field(map), scalar(0)1{"operation":"string-ci>?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
16datum-allocateresult(1)1{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
17text-scalar-scanargument(2), field(scan), scalar(0)—{"requiredEnd":"0","inputScalarCount":"0"}accepted
18datum-allocateresult(2)0{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"0","outputScalars":[],"utf8CapacityBound":"0","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
19compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci>?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
20compare-scalarfield(compare), argument(0), scalar(1)—{"operation":"string-ci>?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"1","leftRead":{"kind":"scalar","scalar":"U+0062"},"rightRead":{"kind":"end","scalarIndex":"1"}}accepted
21compare-scalarfield(compare), argument(1), scalar(0)—{"operation":"string-ci>?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"end","scalarIndex":"0"}}accepted
22call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":true}}.

four-arguments-stop-at-second-false-pair uses string-ci=? at equal-four-call.

All four folds and result allocations complete first. Pair zero reads a/a and then both ends, so it is equal. Pair one restarts at zero and reads a/b, so the call returns false. Pair two is never compared, although its right argument was already folded and retained.

Arguments: [{"kind":"string","value":"A"},{"kind":"string","value":"a"},{"kind":"string","value":"B"},{"kind":"string","value":"a"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+0041"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"1","originalScalars":["U+0061"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"2","originalScalars":["U+0042"],"perOriginalScalarMappings":[["U+0062"]],"foldedScalars":["U+0062"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true},{"argument":"3","originalScalars":["U+0061"],"perOriginalScalarMappings":[["U+0061"]],"foldedScalars":["U+0061"],"n":"1","D":"3","scratchScalarCapacity":"3","m":"1","resultUtf8OctetCapacityBound":"4","replacementEvent":"datum-allocate","replacementCommitted":true}],"replacementOrder":["0","1","2","3"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"string-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"4"}accepted
3callempty—{"suppliedArguments":"4","tail":false}accepted
4argument-checkargument(0)—{"domain":"T"}accepted
5argument-checkargument(1)—{"domain":"T"}accepted
6argument-checkargument(2)—{"domain":"T"}accepted
7argument-checkargument(3)—{"domain":"T"}accepted
8text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
9text-scalar-scanargument(0), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
10unicode-mapargument(0), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0041","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
11datum-allocateresult(0)1{"shape":"string","retainedOperandPosition":"0","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
12text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0061"}accepted
13text-scalar-scanargument(1), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
14unicode-mapargument(1), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0061","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
15datum-allocateresult(1)1{"shape":"string","retainedOperandPosition":"1","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
16text-scalar-scanargument(2), field(scan), scalar(0)—{"scalar":"U+0042"}accepted
17text-scalar-scanargument(2), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
18unicode-mapargument(2), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0042","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
19datum-allocateresult(2)1{"shape":"string","retainedOperandPosition":"2","outputScalarCount":"1","outputScalars":["U+0062"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
20text-scalar-scanargument(3), field(scan), scalar(0)—{"scalar":"U+0061"}accepted
21text-scalar-scanargument(3), field(scan), scalar(1)—{"requiredEnd":"1","inputScalarCount":"1"}accepted
22unicode-mapargument(3), field(map), scalar(0)1{"operation":"string-ci=?","mapping":"full-fold","statuses":["C","F"],"scalar":"U+0061","inputScalarCount":"1","mappingBound":"3","scratchScalarCapacity":"3","reserveScratch":true,"contextScalarVisitBound":"0"}accepted
23datum-allocateresult(3)1{"shape":"string","retainedOperandPosition":"3","outputScalarCount":"1","outputScalars":["U+0061"],"utf8CapacityBound":"4","completeStorage":"immutable string header, value slot, encoding work, and temporary materialization storage"}accepted
24compare-scalarfield(compare), argument(0), scalar(0)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
25compare-scalarfield(compare), argument(0), scalar(1)—{"operation":"string-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"scalarIndex":"1","leftRead":{"kind":"end","scalarIndex":"1"},"rightRead":{"kind":"end","scalarIndex":"1"}}accepted
26compare-scalarfield(compare), argument(1), scalar(0)—{"operation":"string-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"scalarIndex":"0","leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0062"}}accepted
27call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":false}}.

three-character-simple-folds-before-comparison uses char-ci=? at char-call.

CaseFolding status C maps A to a and B to b; a has no mapping and stays a. All three scalar scans and maps finish before comparison. Each map replaces its original call operand position. Character pairs each use one compare-scalar at field(compare), argument(left index), with no scalar suffix and no result allocation.

Arguments: [{"kind":"character","value":"A"},{"kind":"character","value":"a"},{"kind":"character","value":"B"}].

Mapping and context calculation: {"perArgument":[{"argument":"0","originalScalars":["U+0041"],"foldedScalars":["U+0061"],"replacementEvent":"unicode-map"},{"argument":"1","originalScalars":["U+0061"],"foldedScalars":["U+0061"],"replacementEvent":"unicode-map"},{"argument":"2","originalScalars":["U+0042"],"foldedScalars":["U+0062"],"replacementEvent":"unicode-map"}],"replacementOrder":["0","1","2"],"allArgumentsValidatedBeforeReplacement":true,"callerValuesUnchanged":true,"comparisonPairsVisited":[0,1]}.

OrderEventSite pathExtentReservation inputReservation
1callable-checkfield(operator)—{"procedure":"char-ci=?"}accepted
2arity-checkempty—{"suppliedArguments":"3"}accepted
3callempty—{"suppliedArguments":"3","tail":false}accepted
4argument-checkargument(0)—{"domain":"C"}accepted
5argument-checkargument(1)—{"domain":"C"}accepted
6argument-checkargument(2)—{"domain":"C"}accepted
7text-scalar-scanargument(0), field(scan), scalar(0)—{"scalar":"U+0041"}accepted
8unicode-mapargument(0), field(map), scalar(0)1{"operation":"char-ci=?","mapping":"simple-fold","statuses":["C","S"],"scalar":"U+0041","inputScalarCount":"1","retainedOperandPosition":"0"}accepted
9text-scalar-scanargument(1), field(scan), scalar(0)—{"scalar":"U+0061"}accepted
10unicode-mapargument(1), field(map), scalar(0)1{"operation":"char-ci=?","mapping":"simple-fold","statuses":["C","S"],"scalar":"U+0061","inputScalarCount":"1","retainedOperandPosition":"1"}accepted
11text-scalar-scanargument(2), field(scan), scalar(0)—{"scalar":"U+0042"}accepted
12unicode-mapargument(2), field(map), scalar(0)1{"operation":"char-ci=?","mapping":"simple-fold","statuses":["C","S"],"scalar":"U+0042","inputScalarCount":"1","retainedOperandPosition":"2"}accepted
13compare-scalarfield(compare), argument(0)—{"operation":"char-ci=?","leftArgument":"0","rightArgument":"1","readOrder":["left","right"],"leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0061"}}accepted
14compare-scalarfield(compare), argument(1)—{"operation":"char-ci=?","leftArgument":"1","rightArgument":"2","readOrder":["left","right"],"leftRead":{"kind":"scalar","scalar":"U+0061"},"rightRead":{"kind":"scalar","scalar":"U+0062"}}accepted
15call-returnempty—{"valueCount":"1"}accepted

Outcome: {"kind":"value","valueCount":1,"datum":{"kind":"boolean","value":false}}.

근거 자료

Record mapping

A host record is a collection of named fields supplied by the calling application. A profile can map it to an immutable association list. An association list is an ordinary list of pairs whose first component is a key and whose second component is the associated value.

The example below explicitly selects string keys and association-list mapping in its documentation request. It does not introduce a separate guest map kind or establish a public codec. The profiles chapter owns the concrete admission and interchange forms.

3.10 Map admitted records in canonical key order

Apply the host record conversion rule when a caller selects record admission. That rule defines exact key preservation, duplicate checks, and canonical ordering. The resulting value is ordinary association data under the Datum definition here. The record input contract fixes the separate host account and later evaluator decode.

Why

A record must produce the same data regardless of insertion order or host map storage. Duplicate rejection prevents the host from silently choosing one value for a repeated key.

Order exact keys and reject duplicates

lispex.example.v2.values.record-key-cases · 3판

source.scm
(module main
  (import)
  (export rule)
  (entry rule)
  (define rule
    (lambda (input)
      input))
)
요청과 파일
request.json
{
  "notation": "documentation-request",
  "source": "source.scm",
  "semantics": {
    "language": "Lispex 2.0",
    "standardLibrary": "one fixed library identity",
    "unicode": "one fixed Unicode semantics version",
    "resourceModel": "one fixed finite resource model"
  },
  "limits": {
    "prepare": "finite values sufficient to prepare this source",
    "evaluate": "finite values sufficient for the stated finite calculation"
  },
  "requests": [
    {
      "input": {
        "kind": "host-record",
        "fields": [
          {
            "key": "b",
            "value": {
              "kind": "integer",
              "value": "2"
            }
          },
          {
            "key": "a",
            "value": {
              "kind": "integer",
              "value": "1"
            }
          }
        ]
      }
    },
    {
      "input": {
        "kind": "host-record",
        "fields": [
          {
            "key": "a",
            "value": {
              "kind": "integer",
              "value": "1"
            }
          },
          {
            "key": "a",
            "value": {
              "kind": "integer",
              "value": "2"
            }
          }
        ]
      }
    },
    {
      "input": {
        "kind": "host-record",
        "fields": [
          {
            "key": "é",
            "value": {
              "kind": "integer",
              "value": "1"
            }
          },
          {
            "key": "é",
            "value": {
              "kind": "integer",
              "value": "2"
            }
          },
          {
            "key": "A",
            "value": {
              "kind": "integer",
              "value": "3"
            }
          },
          {
            "key": "a",
            "value": {
              "kind": "integer",
              "value": "4"
            }
          }
        ]
      }
    }
  ],
  "recordMapping": {
    "admission": "this profile admits string-keyed host records",
    "datumRepresentation": "immutable association list of string-keyed pairs",
    "keyComparison": "exact Unicode scalar sequence",
    "keyOrder": "ascending unsigned UTF-8 bytes",
    "duplicateKeys": "reject before entry evaluation"
  },
  "rootModule": "main",
  "moduleSources": [
    {
      "name": "main",
      "source": "source.scm"
    }
  ]
}
명세상 결과
결과(("a" . 1) ("b" . 2))
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "pair",
        "car": {
          "kind": "string",
          "value": "a"
        },
        "cdr": {
          "kind": "integer",
          "value": "1"
        }
      },
      {
        "kind": "pair",
        "car": {
          "kind": "string",
          "value": "b"
        },
        "cdr": {
          "kind": "integer",
          "value": "2"
        }
      }
    ]
  }
}
진단record.duplicate
결과 상세
{
  "kind": "admission-failure",
  "valueCount": 0,
  "entryEvaluated": false,
  "canonicalOutcomeProduced": false,
  "evaluationReceiptEligible": false,
  "diagnostic": {
    "phase": "admission",
    "code": "record.duplicate",
    "data": {
      "key": "a",
      "first": "0",
      "second": "1"
    }
  }
}
결과(("A" . 3) ("a" . 4) ("é" . 2) ("é" . 1))
결과 상세
{
  "kind": "value",
  "valueCount": 1,
  "datum": {
    "kind": "list",
    "items": [
      {
        "kind": "pair",
        "car": {
          "kind": "string",
          "value": "A"
        },
        "cdr": {
          "kind": "integer",
          "value": "3"
        }
      },
      {
        "kind": "pair",
        "car": {
          "kind": "string",
          "value": "a"
        },
        "cdr": {
          "kind": "integer",
          "value": "4"
        }
      },
      {
        "kind": "pair",
        "car": {
          "kind": "string",
          "value": "é"
        },
        "cdr": {
          "kind": "integer",
          "value": "2"
        }
      },
      {
        "kind": "pair",
        "car": {
          "kind": "string",
          "value": "é"
        },
        "cdr": {
          "kind": "integer",
          "value": "1"
        }
      }
    ]
  }
}

명세상 결과입니다. 2.0 어댑터가 준비되면 제품에서 실행합니다.

제품 실행

예상 결과

The first record becomes an association list ordered by a then b. The duplicate-key record is rejected before the entry runs. The last record preserves all four exact keys in UTF-8 order. Product invocation awaits its 2.0 adapter.

The request selects one admitted association-list mapping. Composed and decomposed keys remain distinct. Condition field names here describe meaning and do not freeze the wire format.

Related chapters

Exact numbers

Procedures

Standard library

Profiles and value interchange