(Sono sicuro che a questo sito è già stata data risposta, ma la ricerca viene sommersa dal concetto di chiamare free() su una variabile in C.)Che cos'è una "variabile libera"?
Mi sono imbattuto nel termine "riduzione di eta" che è stato definito qualcosa come f x = M x ==> M
se x è "non libero in M". Voglio dire, penso di capire il senso di ciò che sta cercando di dire, sembra quello che fai quando converti una funzione in stile point-free, ma non so quale sia il significato di x non essere libero.
Minore nitpick: può essere ok per 'x' da usare, se è legato. Eta-riduzione '(\ x -> (\ x -> x + x) x)' a '(\ x -> x + x)' è perfettamente a posto, anche se '(\ x -> x + x)' contiene due usi di 'x'. Questo è un caso d'angolo che non si mostrerà molto nel trattare con il codice scritto da umani, ma immagino che i compilatori lo attraverseranno più spesso. – yatima2975
Ho incasinato un po 'la dicitura. "Ma solo se' x' non è usato (cioè non libero) "dovrebbe essere" Ma solo se 'x' non è libero (cioè non è usato o è un argomento)". Originariamente l'ho scritto così, ma l'ho cambiato in altro modo per renderlo più semplice. Purtroppo questo ha cambiato il significato :) – porges