This is an interesting topic. Unfortunately I'm quite busy getting ready
for the conj, but my talk on Cursive at the conj is actually quite related
to this. I think text is actually a pretty good representation for programs
- at least, I haven't seen anything more convincing except for very
specific domains. But the fact that the representation is text doesn't
preclude tools which understand the language that they're editing.

Anyway, hopefully I can come back to this in a couple of weeks, comment
more and read the links!

Cheers,
Colin

On 15 November 2014 13:48, Daniel Orias <orias.dan...@gmail.com> wrote:

>
>
> 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.
>

-- 
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