Vedo che ti piace pensare ai dati come a qualcosa di tangibile. Anch'io. Per esempio, non mi piace il modo in cui si impara la Lambda Calculus in alcune scuole. Sai, dire che Lambda e' l'unica cosa di cui si ha bisogno per progettare qualcosa. In un modello matematico puro, è vero. Ma in un vero e proprio computer, la funzione *comportamento* (la funzione totale pura che cambia ogni volta che il sistema impara dalla parola esterna) deve essere materializzata in qualche modo. Il modo in cui si materializza è in realtà una grande preoccupazione, soprattutto se si cerca di persistenza. Un tentativo ingenuo sarebbe quello di definire l'intero comportamento del sistema in un singolo file di codice sorgente piatto, come un file "behavior.lisp" raw-copied in qualche disco rigido. Questo file dovrebbe essere rinnovato ad ogni iterazione del sistema. Ingenuo come ho detto. Il modo attuale di lavorare consiste nel dividere il comportamento tra i file piatti di sola lettura su disco (codice software e risorse) e le caselle di lettura/scrittura che si riempiono di valori mutevoli (dati utente e varie impostazioni). Il comportamento del sistema è quindi del 90% hardwired e il restante 10% è tutto circa piccole scatole si riempie di ingressi. I miei pensieri sono di trovare un modo definitivo per memorizzare la funzione di comportamento di un sistema in esecuzione. Voglio che sia completamente di plastica e auto-indicizzazione. All'inizio, avevo intenzione di fare un altro database di oggetti. Ma alla fine ho realizzato che la sostituzione dei file con alcune coppie di slot-value (o database di relazione tra entità, o grafici o predicati etichettati) non ha cambiato fondamentalmente nulla se non da una migliore granularità dei dati. Uno deve ancora affrontare un sistema stupido che non riesce a prendere e manipolare la maggior parte delle informazioni che possiede. Perché gli slot-value oggetti, database relazionale, grafici etichettati, predicati, file XML, RDF e qualsiasi archivio di dati esistente che ho scoperto su Google sono tutti basati su un unico antenato: il meta-modello box/value, che è sbagliato. Perché? == Note ==== Bibliografia ==== Altri progetti == rendere più cose tangibili per il sistema su cui lavorare. In un sistema basato su box/value, si potrebbero dedup e hashmap, ma non si potrebbero dedup box (perché il loro contenuto non può essere condiviso tra contesti) e non si può né dedup né hashmap un "qualche valore in qualche box." Quest'ultima - relazione- non è *materiale* per il sistema. Eppure, come ho detto prima, qui è dove *significa* risiede come bit da soli non hanno senso. Se si scartano i grafici ma si abbracciano le strutture delle frecce (che in realtà sostituisce i grafici accademici), ora si può interrogare il sistema per una tale relazione, come (colore-&gt;giallo) e ottenere tutti i contesti in cui questa relazione è coinvolta. In piu', questa relazione e' un cittadino di prima classe. Puoi usarlo come arbitro (una testa) o referrer (una coda) per creare informazioni significative. Ora i computer possono lavorare nativamente sul *significato* dei dati che memorizzano. In realta' immagino che sia quello che mi fa esplodere la mente.