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


These are the benefits I can think of:

 - It enables you to use any Clojure function to manipulate your source 
„code“. Giving you hole new opportunities for refactoring.This functions 
can be provides as library. 


- Really nice auto complete. 


- Visual programming. Source code can be represented in many different ways 
(not just text) . The easiest example I can think of is color. It can be 
represented as text of course (#23FF02)

but that’s a quite bad interface for humans. Why not display the actual 
color and provide a color picker? Or what about music notes? Or Math 
formulars? Or what about a tree view to move and rename functions like 
files? 

This could all be implemented in a way that every library can ship there 
own „views“. I think this „views“ are basically macros that are not limited 
to text. 


- You don’t have to worry that you text files are in the same state as your 
JVM (when developing interactive). You only work on your sourcedata and it 
gets loaded into the JVM automatically.


- Answer questions about your source code. What is the most called 
function? Who depends on this namespace? Where is this function used? What 
is the biggest function? Thinks like that become easy. Again you can ship 
this queries as a library.




The drawback is you can’t simply program using any text editor. You need a 
special tool. But we have that anyway (syntax highlighting, paredit etc.). 
Nobody programs using a bare text editor. 


Maybe this idea is not new? What do you think?

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