La maggior parte degli algoritmi noti sono di primo ordine, nel senso che i loro input e output sono dati "semplici". Alcuni sono di secondo ordine in modo banale, ad esempio ordinamento, hashtable o funzioni map e fold: sono parametrizzati da una funzione, ma in realtà non fanno nulla di interessante se non invocarlo su pezzi di altri dati di input.
Alcuni sono anche di secondo ordine ma un po 'più interessanti:
- Fingertree parametrizzati da monoidi
- Dividere una fingertree su un predicato monotono
- Algoritmi di somma dei prefissi, sempre di solito parametrizzati da un monoide o un predicato ecc.
Infine, alcuni sono "veramente" di ordine superiore nel senso che è più interessante per me:
- Il combinatore Y.
- Elenchi delle differenze
Esistono altri algoritmi non banali di ordine superiore?
Nel tentativo di chiarire la mia domanda, sotto "ordine non banale di ordine superiore" intendo "usare strutture di ordine superiore del formalismo computazionale in modo critico nell'interfaccia e / o implementazione dell'algoritmo"