J'ai reçu la question suivante lors d'un test:
Écrivez une fonction
f
avec le type suivanta -> b -> (a -> b)
.a
etb
ne doit en aucun cas être lié, plus le code est court, mieux c'est.
Je suis venu avec f a b = \x -> snd ([a,x],b)
. Pouvez-vous trouver quelque chose de plus petit?
Actuellement, le gagnant est: f _=(.f).const
f _ b _ = b
, mais, étant donné la solution de la question, je soupçonne qu'un type plus général n'est pas autorisé.
f = id
?
f = f
c'est une solution, donc je suppose que les conditions sur le type sont très importantes!
f = const const
.