Yeah this would be awesome, but sadly representing Clojure code as data is as hard as representing Java. All the reader macros make it a nightmare, and the closest thing you'll get is tools.analyzer AST nodes.
Session is certainly a step in the right direction, and I wish more people would embrace it, but it works on text as well. Same pretty much goes for codeq, if that is not dead. One could define a Clojure subset that is valid EDN though, which would make everything from serialisable functions to a nano-pass compiler a lot easier. This has to be the first step imho. Cheers Jan > On 14 Nov 2014, at 17:09, atucker <agjf.tuc...@gmail.com> wrote: > re > As I understand it, Session <https://github.com/kovasb/session> and codeq > <https://github.com/Datomic/codeq> are tools that somehow keep your code in a > database instead of plain text. > > On Friday, 14 November 2014 12:42:57 UTC, 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). > > 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 > <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 > <mailto:clojure+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout > <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.