Eventuali duplicati:
Comparing functions in Haskellfunzioni e parametri confrontare in Haskell
sto imparando Haskell, voleva sapere è qualcosa di simile possibile? Tutto ciò che voglio è confrontare se il parametro 'funzione' è uguale a una delle funzioni a o b. Come fare questo?
codice Esempio:
a,b :: Integer -> Integer
a x = x+1
b x = x-1
c function parameter = if function == a
then ... parameter -- Do a related stuff
else ... parameter -- Do b related stuff
Non sono un esperto di Haskell, ma per utilizzare la funzione '(==)' i parametri devono far parte della classe di caratteri 'Eq', e non penso che le funzioni possano far parte di typeclass. –
Da [questa risposta] (http://stackoverflow.com/a/4328965/195701): _'Non è, e non sarà mai, un modo per confrontare due funzioni per l'uguaglianza. C'è una prova matematica che non è possibile in generale. _ – Miguel
@VincentSavard: istanza Num b => Num (a -> b) dove (f + g) x = fx + gx - ... – Fixnum