7
Chciałbym wdrożyć metodę show
dla (binarnych) funkcji i sprawić, by była w stanie odróżnić endofunkcje (a -> a)
.Implementacja "show" dla funkcji
Coś kodu pseudo-Haskell:
instance Show (a->b) where
show fun = "<<Endofunction>>" if a==b
show fun = "<<Function>>" if a\=b
Jak można rozróżnić dwa przypadki?
To nie byłaby dobra instancja 'Show' w ogóle. Powinieneś raczej napisać coś w stylu 'isEndo :: (a-> b) -> Bool', a następnie użyć prostej osłony, aby stworzyć odpowiedni tekst tam, gdzie chcesz. – leftaroundabout
Czy "const 3" to endofunkcja lub funkcja? –
@DanielWagner: tak. – Ashe