Domanda

Sto scrivendo un thingy giocattolo compilatore in grado di ottimizzare la funzione chiama se il risultato dipende solo dai valori degli argomenti. Cui funzioni come xor e concatenare dipendono solo loro ingressi, chiamandoli con lo stesso input dà sempre la stessa uscita. Ma le funzioni come il tempo e il rand dipendono stato del programma "nascosto", e chiamandoli con lo stesso input possono dare output diverso. Sto solo cercando di capire cosa l'aggettivo che distingue questi due tipi di funzione, come "isomorfa" o "ri-entrante" o qualcosa del genere. Qualcuno mi può dire la parola che sto cercando?

È stato utile?

Soluzione

Il termine che stai cercando è Pure

Altri suggerimenti

Credo che si chiami Pure Funzione :

  

Nella programmazione di computer, una funzione può essere descritto come puro se entrambe queste affermazioni circa la funzione di ritenzione:

     
      
  • La funzione restituisce sempre lo stesso valore del risultato dato lo stesso valore di argomento (s). Il valore del risultato funzione non può dipendere da qualsiasi informazioni nascoste o stato che potrebbero variare con l'esecuzione procede programma o tra diverse esecuzioni del programma, né può dipendere da qualsiasi ingresso esterno da dispositivi di I / O.
  •   
  • Valutazione del risultato non causa alcun effetto collaterale semanticamente osservabili o uscita, come ad esempio la mutazione di oggetti mutabili o uscita a dispositivi di I / O.
  •   
     

Il valore del risultato non deve dipendere tutto (o) dei valori degli argomenti. Tuttavia, si deve dipendere da altro che i valori degli argomenti.

Credo che si potrebbe dire che l'aggettivo è "pura" se si va da "pura funzione".

Ho sempre saputo che una funzione la cui uscita è sempre lo stesso quando gli argomenti sono sempre gli stessi si chiama "deterministico". Personalmente, ritengo che questo sia un termine più descrittivo. Credo che una "funzione pura" è per definizione deterministica, e sembra una pura funzione viene anche richiesto di non avere effetti collaterali. Suppongo che che non deve essere il caso per tutte le funzioni deterministiche (a condizione che il valore di ritorno è sempre lo stesso per gli stessi argomenti).

link di Wikipedia: http://en.wikipedia.org/wiki/Deterministic_algorithm

Quote:

  

Dato un particolare ingresso, esso produrrà sempre lo stesso output, e la macchina sottostante passerà sempre attraverso la stessa sequenza di stati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top