PHP usa un solo tipo de array para múltiples estructuras de datos
PHP utiliza un único tipo de datos llamado 'array' para representar listas, diccionarios, tuplas, registros y conjuntos.
Esto causa problemas como la pérdida de información en arrays vacíos: json_encode([]) produce un array JSON en lugar de un objeto esperado.
El lenguaje Hack introdujo tipos separados: vec para listas, dict para diccionarios y keyset para conjuntos, con diferentes reglas y comportamientos.
Whim, un lenguaje experimental, implementa tres tipos runtime distintos: vec (listas mutables), dict (diccionarios) y tuple (tuplas inmutables).
La distinción runtime preserva información: un vec vacío se codifica como [] y un dict vacío como {} en JSON, sin ambigüedades.
php · estructuras datos · tipado · json · hack