Sono curioso e non sono riuscito a trovare una proposta per qualcosa di simile in Haskell. Considerare se sia stato scritto sort
ma non sortBy
.Proposta per dichiarazioni/istanze di dati locali
sortBy :: forall a. (a -> a -> Ordering) -> [a] -> [a]
sortBy f = map getX . sort . map X
where
newtype X = X { getX :: a }
instance Ord X where
compare (X a) (X b) = f a b
Qualcuno ha visto questa proposta?
Per quello che vale, è possibile ottenere questo con il pacchetto funzionale perla [riflessione] (http://hackage.haskell.org/package/reflection); vedi [questo esempio] (https://github.com/ekmett/reflection/blob/master/examples/Monoid.hs). (Divulgazione completa: ho commesso nel pacchetto.) – ehird
Per quanto ami questa idea (e ho voluto la stessa cosa in passato), non sono sicuro che questa sia una vera domanda ... –
Io non sono proponendo; Ero abbastanza sicuro che sarebbe stato proposto prima, ma non riuscivo a trovarlo. Una risposta accettabile sarebbe quella che punta a una discussione su questa o una proposta simile, o su una persona coinvolta in questo aspetto della comunità che dice "Non ne ho visto uno, ma qui ci sono alcune cose correlate". Questo costituisce una domanda reale? – luqui