On Friday, November 14, 2014 4:42:57 AM UTC-8, Thomas Huber wrote: > > Hi, here is an idea that has been in my mind for a while. I wonder what > you think about it. > > > In Clojure code is data, right? But when we program we manipulate flat > text files, not the data directly. > > Imagine your source code where a data structure (in memory). And > programming is done by manipulating this data structure. No text editor and > text files involved. > > Your editor directly manipulates the source data and later saves it on > disk (maybe as a text file). >
I think saying code is data shoots past some subtlety in the concept of Clojure, as a Lisp, being homoiconic. Code is data. Data is code. How a sequence of bytes is labelled depends on the context, and in many respects, the only purpose in applying the label is to map what's going on to how we were taught what programs and data are. Flat files are a persistence implementation detail. They are read in, as requested, in order to provide bindings and data to be transformed or referenced. The flat text file format is simple and human-readable. That said, one could choose a relational database to store one's data and functions. I suppose, in that case, one could link the functions to be used to the data that is in its domain. There's a variation on type safety. Some people do program with a bare text editor. For what one gives up, a bare text editor does encourages keeping the program small enough to fit into the programmer's imagination. I did many a utility in AutoLISP back in the 90s using NotePad. Now, I put having a REPL in higher regard than color-syntax marking, but I see your point with regards to changing the representation of the objects, though your example of music has some issues in that there's standard notation, there's tablature, and some jazz musicians of the Be-Bop era created their own notation because the notes weren't as important (they were excellent improvisers) as the structure. Representation, beyond the standard norms of alphanumeric strings, is probably best left to the programmer who would best understand why something non-standard is needed. Clojure is not a brand-new language any more, so I wonder why is there nothing like DrRacket? (It creates and edits the source files. It's a REPL. Representation of the objects can be altered by the programmer.) Is it because of the jvm and licensing issues? Maybe there is something as nice as DrRacket for Clojure and I didn't notice it. I fear, though, that I'm missing your point and perhaps I'm wrong in thinking that "code is data" is in some way incomplete as a premise. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.