2011-07-27 9 views
5

Para volver a enlazar la notación de proc de Haskell, el párrafo 7.3.11 "Rebindable syntax and the implicit Prelude import" de la Guía del usuario de GHC indica que la notación de Flecha utiliza las funciones arr, first, ... que están dentro del alcance. También establece que los tipos "deben coincidir con los tipos de Preludio muy de cerca".¿Cómo volver a unir la notación de proc de Haskell con las Flechas definidas por el usuario?

Se anima a cualquier persona que quiera usar esto, a preguntar. Entonces, ¿qué tan cerca tienen estos tipos para que coincida con los tipos de Preludio?

Respuesta

2

No conozco ninguna documentación completa sobre volver a vincular la notación proc - Creo que esto está en la categoría de cosas que arrojaron allí porque tenía sentido tenerlo, pero no hay ejemplos claros de motivación para usarlo todavía

Hice una prueba empírica rápida, habilitando las extensiones pertinentes, dando a las funciones de rebote tipos falsos, y luego mirando los errores de tipo. Lo que vi fue algo así como esto:

arr :: (a -> b) -> t a b 
(>>>) :: t a b -> t b c -> t a c 
first :: t a b -> t (a, c) (b, c) 

Supongo que las funciones restantes son similares. A grandes rasgos, estos son exactamente los mismos tipos que las funciones estándar, menos la restricción Arrow en el contexto.

Cuestiones relacionadas