9

Eseguendo un calcolo a livello di carattere, sono arrivato al punto in cui voglio modificare la fissità di -> perché non può essere combinato con operatori di tipo associativo sinistro di fixity 0. So che non funziona a titolo definitivo con Estensione TypeOperators e infixr 1 ->, perché restituisce solo l'errore parse error on input ‘->’.Cambia la fissità del tipo di funzione (->)?

Esiste un'estensione o altri mezzi per modificare la fissità dell'operatore del tipo di funzione?

risposta

12

si può fare un sinonimo:

{-# LANGUAGE TypeOperators #-} 

infixr 1 ~> 
type (~>) = (->) 
+1

Questo è in realtà una soluzione migliore credo. Non introduce confusione a coloro che si aspettano 'infixr 0 ->'. – Shou

+5

'type (~>) = (->)' è leggermente migliore, perché può ancora essere parzialmente applicato. – kosmikus

+0

Era 'tipo a ~> b = a -> b'. @kosmikus, grazie. – user3237465

Problemi correlati