Hay un montón de pequeñas inconsistencias y reliquias. Los obvios que puedo pensar son:
La asignación de tipos usa dos puntos porque los dos puntos están reservados para las listas a pesar del hecho de que el cálculo lambda escrito siempre usa dos puntos para la asignación de tipos.
El nombre de “fmap” suena como una extensión de “mapa” cuando realmente map es solo una de las muchas instancias de fmap.
“Return” y “pure” son la misma función pero para diferentes clases de tipos, aunque una herede de la otra.
- Si obtienes una varita mágica, ¿qué cambiarás en tu vida?
- Encuentras el Santo Grial en tu baño. ¿Qué haces?
- Estas en un cuarto El cuarto está en la luna. La habitación es irrompible, y solo tienes tu cuerpo desnudo, un cuerpo humano sin superpoder. Puedes salir? Sin puertas En forma de caja. Paredes de concreto. Sin agujeros Nada en la habitacion.
- Si pudieras elegir una superpotencia, ya sea lectura mental, viaje en el tiempo o energía ilimitada, ¿cuál elegirías?
- Si Michael Jackson hubiera sido condenado y enviado a la cárcel, ¿cómo habría sido tratado por otros reclusos si estuviera en la población normal de la cárcel?
La sintaxis “if then else” es bastante fea e innecesaria ya que podría ser su propia función:
if :: Bool -> a -> a -> a
Fue bastante interesante leer la documentación de PureScript porque está muy influenciado por Haskell, pero dado que fue diseñado mucho más recientemente que Haskell, parece ser mucho más limpio en muchos de estos aspectos.