Todas las relaciones miniKanren terminan con la letra o
. ¿Cuál es la motivación para esto? Veo que la biblioteca Clogure core.logic también hace esto.¿Por qué los nombres miniKanren siempre terminan con `o`?
7
A
Respuesta
11
En el prefacio de El Razonada Schemer, lo explican así:
una relación, una función que devuelve un objetivo como su valor, termina su nombre con un superíndice 'o' (por ejemplo, coche o y nulo o).
Por lo tanto, es una notación para denotar una relación.
5
es porque los autores de El Razonada Schemer querían la notación de las relaciones miniKanren sea evocadora de predicados régimen ordinario que terminan en ?
(por ejemplo, null?
, pair?
) por convención. El superíndice o, si entrecierra lo suficiente (y has escuchado esta historia antes), parece un ?
modificado.
Cuestiones relacionadas
- 1. C# = ¿Por qué los procesos de Excel no terminan?
- 2. ¿Qué significa cuando los números terminan con U
- 3. ¿Terminan los métodos con _! tiene un significado especial en Scala?
- 4. ¿Por qué las excepciones de AppDomain invariablemente terminan la aplicación?
- 5. ¿Por qué MemoryStream.GetBuffer() siempre tira?
- 6. ¿Por qué usar ensamblajes con nombres fuertes?
- 7. ¿Por qué deberían los nombres de estructura tener un typedef?
- 8. ¿Debería finalizar siempre las consultas de mysql con "o morir?"
- 9. ¿Los datagramas siempre se reciben por completo?
- 10. ¿Los nombres de usuario siempre distinguen entre mayúsculas y minúsculas?
- 11. ¿Por qué los nombres de dominio están al revés?
- 12. ¿Por qué algunos métodos de Java en las bibliotecas centrales terminan con números?
- 13. error rbind: "Los nombres no coinciden con los nombres anteriores"
- 14. ¿Por qué anida para siempre la memoria?
- 15. ¿Por qué los nombres de usuario no se pueden cambiar?
- 16. ¿por qué no subprocesamos.Popen (...) siempre regresa?
- 17. por qué siempre recibo ACTION_DOWN desde onTouchEvent
- 18. ¿por qué incluir líneas que no terminan con un punto y coma?
- 19. ¿Por qué las listas de argumentos en ciertos métodos Cocoa terminan con un nil?
- 20. por qué el $ (function() ejecutado siempre
- 21. Los hilos java se eliminan cuando terminan
- 22. Cómo eliminar todos los archivos que terminan en ~ creado por Emacs
- 23. ¿Por qué ShowDialog siempre devuelve DialogResult.Cancel?
- 24. Por qué malloc siempre devuelve NULL
- 25. Fusionar o combinar por nombres de filas
- 26. ¿por qué cout.tellp siempre devuelve -1?
- 27. ¿Por qué los nombres de archivo en la carpeta dibujable no contienen caracteres especiales o comienzan con una letra mayúscula?
- 28. ¿Por qué mi "Evento" siempre es nulo?
- 29. android: NeighboringCellInfo siempre vacío!? ¿por qué?
- 30. ¿Por qué siempre UpperCase en mi código?