Yes that s ounds quite reasonable to me Am Freitag, 14. November 2014 18:01:04 UTC+1 schrieb Jan-Paul Bultmann: > > 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....@gmail.com <javascript:>> > 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 clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > 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+u...@googlegroups.com <javascript:>. > 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.