Recentemente ho eseguito il refactoring di grossi blocchi di codice e li ho sostituiti con le query di Linq.
Rimozione del bias della lingua - Linq è essenzialmente un insieme di funzioni Mappa / Filtro e Riduci che operano su una sequenza di dati.
Questo mi ha fatto pensare, fino a che punto sarei in teoria in grado di prendere questo. Sarei in grado di riscrivere l'intera base di codice in una serie (o anche una sola) di operazioni Map / Filter e Reduce.
Purtroppo mi pagano per fare cose utili, quindi non sono stato in grado di sperimentare molto più avanti, ma non riesco a pensare a nessuna struttura di codice che non possa essere strutturata come tale. Il codice side effect può essere gestito tramite monadi. Anche l'output è essenzialmente il mapping degli indirizzi di memoria agli indirizzi dello schermo.
C'è qualcosa che non può essere (teoricamente) riscritto come una query di Linq?