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.

Reply via email to