La sintassi dell'hash è stata introdotta nel 1989. Vi è stata una discussione su numeri inesatti sulla mailing list degli autori di Scheme, che contiene molte belle idee. Alcuni catturati e altri no.
http://groups.csail.mit.edu/mac/ftpdir/scheme-mail/HTML/rrrs-1989/msg00178.html
Un'idea che bloccato è stata l'introduzione del #
riposare per una cifra sconosciuta. Se si dispone di una misurazione con due cifre significative, è possibile indicare che con 23##
sono note le cifre 2
e 3
, ma che le ultime cifre sono sconosciute. Se scrivi 2300
, allora non puoi vedere che i due zero non sono considerati affidabili. Quando ho visto la sintassi mi aspettavo che 23##
valutasse il 2350, ma (credo) l'interpretazione dipende dall'implementazione. Molti implementazione interpretano 23##
come 2300.
La sintassi è stato introdotto formalmente qui:
http://groups.csail.mit.edu/mac/ftpdir/scheme-mail/HTML/rrrs-1989/msg00324.html
EDIT
Da http://groups.csail.mit.edu/mac/ftpdir/scheme-reports/r3rs-html/r3rs_8.html#SEC52
un tentativo di produrre più cifre che sono disponibili in la rappresentazione interna della macchina di un numero sarà contrassegnata con un "#" riempiendo le cifre in più. Questa non è una dichiarazione che l'attuazione sa o registra il significato di un numero, basta che la macchina sarà tentativi di bandiera per la produzione di 20 cifre di un numero che ha solo 15 cifre della rappresentazione macchina:
3 .14158265358979 #####; (Flo 20 (esattezza s))
EDIT2
Gerald Jay Sussman scrive il motivo per cui l'ha introdotto la sintassi qui:
http://groups.csail.mit.edu/mac/ftpdir/scheme-mail/HTML/rrrs-1994/msg00096.html
+1, molto più utile della mia, ma io' Lasceremo per i collegamenti. Questo è specificato altrove in RnRS? –
È difficile trovare molto. Un bocconcino è tratto dal manuale R3RS nella sezione formato. Se viene richiesta un'implementazione per scrivere un numero di 20 cifre, ma sono note solo 15 cifre nella rappresentazione interna, allora può scrivere # al posto delle cifre sconosciute. Poiché 'write' può produrre questi numeri, anche la procedura' read' deve gestirli. – soegaard