Quanto sono utili le funzioni del tempo di compilazione? Personalmente non ho lavorato in nessuna lingua che li supporti, ma in alcuni casi mi sembrano eleganti.
Per coloro che non sanno cosa intendo, una funzione di compilazione viene valutata alla compilazione piuttosto che al runtime,
quindi se hai per esempio nel tuo codice
int i = Pow(4,34);
potresti invece fare qualcosa di simile
int i = Pow<compilation>(4,34);
e il codice effettivo di runtime sarebbe
int i = 295147905179352825856;
Naturalmente ci sono alcune restrizioni su quali funzioni potrebbero essere eseguite in fase di compilazione, devono essere praticamente pure / statiche, ma posso anche vedere alcune istanze in cui potrebbe essere usato per recuperare i dati in qualcosa da un file o database ( anche se nella maggior parte dei casi queste cose non dovrebbero essere compilate nel codice)
Che ne pensi, una funzionalità del genere è effettivamente utile o semplicemente "interessante"? :)