Ho ricevuto la seguente domanda durante un test:
Scrivi una funzione
f
con il seguente tipoa -> b -> (a -> b)
.a
eb
non dovrebbe essere vincolato in alcun senso, più breve è il codice, meglio è.
Mi è venuta in mente f a b = \x -> snd ([a,x],b)
. Riesci a trovare qualcosa di più piccolo?
Attualmente il vincitore è: f _=(.f).const
f _ b _ = b
, ma, data la soluzione nella domanda, sospetto che non sia permesso un tipo più generale .
f = id
?
f = f
è una soluzione, quindi immagino che le condizioni sul tipo siano molto importanti!
f = const const
.