For what it's worth I'm a big fan of the wishful thinking programming style.
I write some functions how I think they should look, declare the functions I
haven't defined yet. Then I implement the lower level functions, write some
tests- then usually the higher level stuff works without too much tweaking.
In a non-functional programming language this doesn't work so well, but it's
a good fit for something like Clojure.

On Thu, Mar 26, 2009 at 1:42 AM, Timothy Pratley
<timothyprat...@gmail.com>wrote:

>
> Hi Mark,
>
> A fuller discussion can be found here:
>
> http://groups.google.com/group/clojure/browse_thread/thread/a99b420d5ee0aa40/47f8c2ab6845e9ae
> Which has links to the simple patch I tried, and discusses the more
> advanced technique Laurent experimented with.
> Elena subsequently developed an emacs plugin which looks interesting
> (I'm a VI ninja though so haven't used it)
>
> http://groups.google.com/group/clojure/browse_thread/thread/ca7076f4c6591fdd/cda5cf10b89a3679
>
> My own experience FWIW was that it was great for two weeks coding with
> autodef, then for about a week I became frustrated with my typos and
> disabled it. More promising solutions might come from an external tool
> (such as Knuth's literate programming noweb) or IDE support like Elena
> described.
>
> For now my work flow is write the code backwards (ie: manually move
> the cursor up) and/or chopping and pasting. Then when I'm happy with
> it, I re-chop it all in my 'preferred' order and put a declare at the
> top. That sounds quite inefficient, but VI is really great for re-
> organizing text blocks so it is not too strenuous. That said, I'm
> really interested in ways that "literate programming" style can be
> followed with the least external support.
>
>
> Regards,
> Tim.
>
>
> On Mar 26, 4:15 pm, Mark Engelberg <mark.engelb...@gmail.com> wrote:
> > On Wed, Mar 11, 2009 at 5:18 PM, Timothy Pratley
> >
> > <timothyprat...@gmail.com> wrote:
> > > It is also quite trivial to patch the compiler to auto-def symbols as
> > > it finds them instead of throwing an error.
> >
> > I would be interested in knowing how to do such a patch.  When I work
> > on code, I like to organize my functions in a way that makes it easy
> > to read and understand what is going on.  As I work on longer chunks
> > of Clojure code, I'm finding that shuffling around the functions to
> > avoid a lot of forward declarations is destroying the readability of
> > my code.
> >
>

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

Reply via email to