← All docs

__elephc_normalize_callable() — internals

Compiler internals for __elephc_normalize_callable(): lowering path, type checks, and runtime helpers.

__elephc_normalize_callable() — internals

Where it lives

Lowering notes

  • Uses the eir_primitive strategy from the single-source builtin descriptor.
  • Emits backend-neutral EIR primitives or a small EIR graph through BuiltinLoweringContext.

Semantic descriptor

  • Target strategy: eir_primitive
  • Validation: checker_hook
  • Result type source: checked
  • Result ownership: fresh
  • Effects: static (3 declared effects)
  • Requirements: static (0 requirements)
  • Callable policy: static_only
  • Target support: macos-aarch64, ios-arm64, ios-sim-arm64, linux-aarch64, linux-x86_64

EIR and runtime boundary

  • Typed EIR target: descriptor-emitted EIR primitives or graph; no opaque builtin call remains.

Signature summary

function __elephc_normalize_callable(mixed $value): callable

What the type checker enforces

  • Arity: takes exactly 1 argument.

Eval interpreter (magician)

Not callable from eval’d code — the magician interpreter has no entry for this builtin.

Cross-references

  • No user-facing reference — this is a compiler internal helper.