Al crear un cliente para una API web en C #, me encontré con un problema relacionado null
con un valor en el que representaría dos cosas diferentes:
- nada , por ejemplo, un
foo
puede o no tener unbar
- desconocido : por defecto, la respuesta API solo incluye un subconjunto de propiedades, debe indicar qué propiedades adicionales desea. Tan desconocido significa que la propiedad no se solicitó a la API.
Después de algunas búsquedas, descubrí el tipo Quizás (u Opción), cómo se usa en lenguajes funcionales y cómo "resuelve" problemas de anulación de referencia al obligar al usuario a pensar en la posible ausencia de un valor. Sin embargo, todos los recursos que encontré hablaron de reemplazar nulo con Quizás . Encontré algunas menciones de lógica de tres valores , pero no lo entiendo completamente y la mayoría de las veces su mención fue en el contexto de "es algo malo".
Ahora me pregunto si tiene sentido tener tanto el concepto de nulo como el de Quizás , para representar lo desconocido y nada, respectivamente. ¿Es esta la lógica de tres valores sobre la que leí, o tiene otro nombre? ¿O es la forma prevista de anidar un tal vez en un tal vez?
M M x
y M x
debería tener la misma semántica.
M (M x)
y M x
debería tener la misma semántica". Tomemos M = List
por ejemplo: las listas de listas no son lo mismo que las listas. Cuando M
es una mónada, hay una transformación (es decir, la multiplicación de la mónada) a partir M (M x)
de la M x
cual se explica la relación entre ellos, pero no tienen "la misma semántica".
null
. Es una idea completamente rota.