>Not sure what you want to achieve by studying the source code. I think
>the answer that I can give to what works best for you will depend on
>what you want to study the source code for.
I want to be familiar with a language design in general and how it
integrates with Java Platform.

>I'm also not sure what you mean by 'what is the best place to start reading.
What I mean is which file in the source code I have to read in order
to start mining.
This depends on why I'm reading the source code, right?

On Jan 13, 10:19 am, bOR_ <boris.sch...@gmail.com> wrote:
> Not sure what you want to achieve by studying the source code. I think
> the answer that I can give to what works best for you will depend on
> what you want to study the source code for.
>
> I'm also not sure what you mean by 'what is the best place to start
> reading..' The link that I gave before is a direct link to the source
> code of clojure. That is the source.
>
> http://code.google.com/p/clojure/source/browse/trunk/src/clj/clojure/...
>
> On Jan 13, 9:04 am, HB <hubaghd...@gmail.com> wrote:
>
> > Do you suggest that I read "Programming Clojure" first and then trying
> > to study the source code?
> > What is the best place (file, package or what ever) to start reading
> > the source code?
>
> > On Jan 13, 10:01 am, bOR_ <boris.sch...@gmail.com> wrote:
>
> > > Here you can peek at the source code of clojure.
>
> > >http://code.google.com/p/clojure/source/browse/trunk/src/clj/clojure/...
>
> > > It is about 3700 lines, and although you have to get used to a few new
> > > functions and names that are normally not exposed when you use
> > > clojure, it looks fairly simple.
>
> > > Here is the function that defines defn itself. Most functions in the
> > > source are a magnitude easier than this one for us newbies =).
>
> > > (def
>
> > >  #^{:doc "Same as (def name (fn [params* ] exprs*)) or (def
> > >     name (fn ([params* ] exprs*)+)) with any doc-string or attrs added
> > >     to the var metadata"
> > >     :arglists '([name doc-string? attr-map? [params*] body]
> > >                 [name doc-string? attr-map? ([params*] body)+ attr-
> > > map?])}
> > >  defn (fn defn [name & fdecl]
> > >         (let [m (if (string? (first fdecl))
> > >                   {:doc (first fdecl)}
> > >                   {})
> > >               fdecl (if (string? (first fdecl))
> > >                       (rest fdecl)
> > >                       fdecl)
> > >               m (if (map? (first fdecl))
> > >                   (conj m (first fdecl))
> > >                   m)
> > >               fdecl (if (map? (first fdecl))
> > >                       (rest fdecl)
> > >                       fdecl)
> > >               fdecl (if (vector? (first fdecl))
> > >                       (list fdecl)
> > >                       fdecl)
> > >               m (if (map? (last fdecl))
> > >                   (conj m (last fdecl))
> > >                   m)
> > >               fdecl (if (map? (last fdecl))
> > >                       (butlast fdecl)
> > >                       fdecl)
> > >               m (conj {:arglists (list 'quote (sigs fdecl))} m)]
> > >           (list 'def (with-meta name (conj (if (meta name) (meta name)
> > > {}) m))
> > >                 (cons `fn fdecl)))))
>
> > > On Jan 13, 8:51 am, HB <hubaghd...@gmail.com> wrote:
>
> > > > Hey,
> > > > How much Clojure source code is complicated?
> > > > I'm not a programming Godfather but I would like to study Clojure
> > > > source code.
> > > > Could an intermediate programmer like me grasp the source code?
> > > > Thanks.
--~--~---------~--~----~------------~-------~--~----~
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